Advertisement
Guest User

Untitled

a guest
Jan 29th, 2020
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.89 KB | None | 0 0
  1. package pliki02;
  2.  
  3. import java.io.BufferedReader;
  4. import java.io.BufferedWriter;
  5. import java.io.FileReader;
  6. import java.io.FileWriter;
  7. import java.io.IOException;
  8. import java.io.RandomAccessFile;
  9. import java.util.StringTokenizer;
  10. import java.util.logging.Level;
  11. import java.util.logging.Logger;
  12.  
  13. public class Pliki02
  14. {
  15. static void utworzPlikZDanymi() throws IOException
  16. {
  17. RandomAccessFile plik = new RandomAccessFile("dane.bin","rw");
  18.  
  19. plik.writeUTF("Kowalski");
  20. plik.writeInt(2000);
  21. plik.writeDouble(3500);
  22.  
  23. plik.writeUTF("Nowak");
  24. plik.writeInt(1995);
  25. plik.writeDouble(2500);
  26.  
  27. plik.writeUTF("Kwiatkowski");
  28. plik.writeInt(1966);
  29. plik.writeDouble(5000);
  30.  
  31. plik.writeUTF("Iksiński");
  32. plik.writeInt(1999);
  33. plik.writeDouble(1000);
  34. plik.close();
  35. }
  36.  
  37. static void pokazZawartoscPliku()
  38. {
  39. try(RandomAccessFile plik = new RandomAccessFile("dane.bin","r"))
  40. {
  41. while(plik.getFilePointer() < plik.length())
  42. {
  43. String nazwisko = plik.readUTF();
  44. int rok = plik.readInt();
  45. double pensja = plik.readDouble();
  46.  
  47. System.out.printf("\nNazwisko: %s, rok: %d, pensja: %.2f\n", nazwisko, rok, pensja);
  48. }
  49. }
  50. catch(IOException e)
  51. {
  52. System.out.println("Wystąpił błąd " + e.getMessage());
  53. }
  54. }
  55.  
  56. static void przepiszDoPlikuTekstowego()
  57. {
  58. try(RandomAccessFile plik = new RandomAccessFile("dane.bin","r");
  59. BufferedWriter plikTxt = new BufferedWriter(new FileWriter("dane.txt")))
  60. {
  61. while(plik.getFilePointer() < plik.length())
  62. {
  63. String nazwisko = plik.readUTF();
  64. int rok = plik.readInt();
  65. double pensja = plik.readDouble();
  66.  
  67. if(rok >= 1999)
  68. {
  69. String linia = nazwisko + " " + pensja;
  70. plikTxt.write(linia);
  71. plikTxt.newLine();
  72. System.out.println("Zapisano " + linia);
  73. }
  74. }
  75. }
  76. catch(IOException e)
  77. {
  78. System.out.println("Wystąpił błąd " + e.getMessage());
  79. }
  80. }
  81.  
  82. static void podniesPensjeO10Proc()
  83. {
  84. try(RandomAccessFile plik = new RandomAccessFile("dane.bin","rw"))
  85. {
  86. while(plik.getFilePointer() < plik.length())
  87. {
  88. String nazwisko = plik.readUTF();
  89. int rok = plik.readInt();
  90. double pensja = plik.readDouble();
  91.  
  92. if(rok >= 1999)
  93. {
  94. plik.seek(plik.getFilePointer() - Double.BYTES);
  95. plik.writeDouble(pensja*1.1);
  96. }
  97. }
  98. }
  99. catch(IOException e)
  100. {
  101. System.out.println("Wystąpił błąd " + e.getMessage());
  102. }
  103.  
  104. }
  105.  
  106. static void emerytura(String nazwa)
  107. {
  108. try(
  109. BufferedReader plikTxt = new BufferedReader(new FileReader(nazwa));
  110. RandomAccessFile plikBinK = new RandomAccessFile("kobiety.bin", "rw");
  111. RandomAccessFile plikBinM = new RandomAccessFile("mezczyzni.bin", "rw")
  112. )
  113. {
  114. String linia;
  115. while((linia = plikTxt.readLine()) != null)
  116. {
  117. StringTokenizer tok = new StringTokenizer(linia, "-");
  118. String imie = tok.nextToken();
  119. String nazwisko = tok.nextToken();
  120. char plec = tok.nextToken().charAt(0);
  121. int wiek = Integer.parseInt(tok.nextToken());
  122. int doEmerytury;
  123. if(plec == 'K')
  124. {
  125. doEmerytury = (65 - wiek) * 12;
  126. plikBinK.writeUTF(nazwisko);
  127. plikBinK.writeInt(doEmerytury);
  128. System.out.printf("Kobita: %s %d\n", nazwisko, doEmerytury);
  129. }
  130. if(plec == 'M')
  131. {
  132. doEmerytury = (67 - wiek) * 12;
  133. plikBinM.writeUTF(nazwisko);
  134. plikBinM.writeInt(doEmerytury);
  135. System.out.printf("Chop: %s %d\n", nazwisko, doEmerytury);
  136. }
  137. }
  138. }
  139. catch (IOException ex)
  140. {
  141. ;
  142. }
  143. }
  144.  
  145.  
  146. public static void main(String[] args) throws IOException
  147. {
  148. utworzPlikZDanymi();
  149. pokazZawartoscPliku();
  150. przepiszDoPlikuTekstowego();
  151. podniesPensjeO10Proc();
  152. pokazZawartoscPliku();
  153. emerytura("pracownicy.txt");
  154. }
  155. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement