daily pastebin goal
16%
SHARE
TWEET

Untitled

a guest Jan 24th, 2019 63 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top