Advertisement
Guest User

Untitled

a guest
Jan 24th, 2019
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.30 KB | None | 0 0
  1.  
  2. package plikiraf01;
  3.  
  4. import java.io.BufferedWriter;
  5. import java.io.FileWriter;
  6. import java.io.IOException;
  7. import java.io.RandomAccessFile;
  8.  
  9.  
  10. public class PlikiRAF01
  11. {
  12. static void utworzPlikLiczb()
  13. {
  14. try( RandomAccessFile plik = new RandomAccessFile( "dane.dat", "rw" ) )
  15. {
  16. plik.setLength( 0 );
  17. for( int i = 0; i < 3; ++i )
  18. {
  19. plik.writeInt( 1 );
  20. plik.writeInt( 2 );
  21. plik.writeInt( 3 );
  22. plik.writeInt( 4 );
  23. plik.writeInt( 0 );
  24. }
  25.  
  26. }
  27. catch( IOException e )
  28. {
  29. System.out.println( "Błąd tworzenia pliku" );
  30. }
  31. }
  32.  
  33. static void czytajPlikLiczb()
  34. {
  35. try( RandomAccessFile plik = new RandomAccessFile( "dane.dat", "r" ) )
  36. {
  37. long rozmiar = plik.length() / Integer.BYTES;
  38. int licznik = 0;
  39.  
  40. int suma = 0;
  41. while( licznik < rozmiar )
  42. {
  43. int i = plik.readInt();
  44. suma += i;
  45. System.out.println( i );
  46. ++licznik;
  47. }
  48. System.out.println( "Suma: " + suma );
  49. }
  50. catch( IOException e )
  51. {
  52. System.out.println( "Błąd" );
  53. }
  54.  
  55. }
  56.  
  57. static void sumyCzesciowe()
  58. {
  59. try( RandomAccessFile plik = new RandomAccessFile( "dane.dat", "rw" ) )
  60. {
  61. long rozmiar = plik.length() / Integer.BYTES;
  62. int licznik = 0;
  63.  
  64. int suma = 0;
  65. while( licznik < rozmiar )
  66. {
  67. int i = plik.readInt();
  68. if( i == 0 )
  69. {
  70. plik.seek( plik.getFilePointer() - Integer.BYTES );
  71. plik.writeInt( suma );
  72. suma = 0;
  73. }
  74. else
  75. suma += i;
  76. ++licznik;
  77. }
  78. System.out.println( "Suma: " + suma );
  79. }
  80. catch( IOException e )
  81. {
  82. System.out.println( "Błąd" );
  83. }
  84. }
  85.  
  86. static void utworzPlikOsob()
  87. {
  88. try( RandomAccessFile plik = new RandomAccessFile( "osoby.dat", "rw" ) )
  89. {
  90. plik.setLength( 0 );
  91.  
  92. plik.writeInt( 4 );
  93.  
  94. plik.writeUTF( "Ala" );
  95. plik.writeInt( 2000 );
  96. plik.writeChar( 'k' );
  97.  
  98. plik.writeUTF( "Wojtek" );
  99. plik.writeInt( 1995 );
  100. plik.writeChar( 'm' );
  101.  
  102. plik.writeUTF( "0la" );
  103. plik.writeInt( 2001 );
  104. plik.writeChar( 'k' );
  105.  
  106. plik.writeUTF( "Franek" );
  107. plik.writeInt( 1996 );
  108. plik.writeChar( 'm' );
  109. }
  110. catch( IOException e )
  111. {
  112. System.out.println( "Błąd tworzenia pliku" );
  113. }
  114. }
  115.  
  116. static void rozdzielOsoby()
  117. {
  118. try( RandomAccessFile plik = new RandomAccessFile( "osoby.dat", "rw" );
  119. BufferedWriter pk = new BufferedWriter( new FileWriter( "kobiety.txt" ) );
  120. BufferedWriter pm = new BufferedWriter( new FileWriter( "mezczyzni.txt" ) )
  121. )
  122. {
  123. int ileOsob = plik.readInt();
  124. for( int licznik = 0; licznik < ileOsob; ++licznik )
  125. {
  126. String imie = plik.readUTF();
  127. int rok = plik.readInt();
  128. char kto = plik.readChar();
  129.  
  130. if( 'k' == kto || 'K' == kto )
  131. {
  132. pk.write( imie + rok );
  133. pk.newLine();
  134. }
  135. else
  136. {
  137. pm.write( imie + rok );
  138. pm.newLine();
  139. }
  140. }
  141. }
  142. catch( IOException e )
  143. {
  144. System.out.println( "Błąd" );
  145. }
  146. }
  147.  
  148. public static void main(String[] args)
  149. {
  150. // utworzPlikLiczb();
  151. // czytajPlikLiczb();
  152. // sumyCzesciowe();
  153. // czytajPlikLiczb();
  154.  
  155. utworzPlikOsob();
  156. rozdzielOsoby();
  157.  
  158. }
  159.  
  160. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement