Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package plikiraf01;
- import java.io.BufferedWriter;
- import java.io.FileWriter;
- import java.io.IOException;
- import java.io.RandomAccessFile;
- public class PlikiRAF01
- {
- static void utworzPlikLiczb()
- {
- try( RandomAccessFile plik = new RandomAccessFile( "dane.dat", "rw" ) )
- {
- plik.setLength( 0 );
- for( int i = 0; i < 3; ++i )
- {
- plik.writeInt( 1 );
- plik.writeInt( 2 );
- plik.writeInt( 3 );
- plik.writeInt( 4 );
- plik.writeInt( 0 );
- }
- }
- catch( IOException e )
- {
- System.out.println( "Błąd tworzenia pliku" );
- }
- }
- static void czytajPlikLiczb()
- {
- try( RandomAccessFile plik = new RandomAccessFile( "dane.dat", "r" ) )
- {
- long rozmiar = plik.length() / Integer.BYTES;
- int licznik = 0;
- int suma = 0;
- while( licznik < rozmiar )
- {
- int i = plik.readInt();
- suma += i;
- System.out.println( i );
- ++licznik;
- }
- System.out.println( "Suma: " + suma );
- }
- catch( IOException e )
- {
- System.out.println( "Błąd" );
- }
- }
- static void sumyCzesciowe()
- {
- try( RandomAccessFile plik = new RandomAccessFile( "dane.dat", "rw" ) )
- {
- long rozmiar = plik.length() / Integer.BYTES;
- int licznik = 0;
- int suma = 0;
- while( licznik < rozmiar )
- {
- int i = plik.readInt();
- if( i == 0 )
- {
- plik.seek( plik.getFilePointer() - Integer.BYTES );
- plik.writeInt( suma );
- suma = 0;
- }
- else
- suma += i;
- ++licznik;
- }
- System.out.println( "Suma: " + suma );
- }
- catch( IOException e )
- {
- System.out.println( "Błąd" );
- }
- }
- static void utworzPlikOsob()
- {
- try( RandomAccessFile plik = new RandomAccessFile( "osoby.dat", "rw" ) )
- {
- plik.setLength( 0 );
- plik.writeInt( 4 );
- plik.writeUTF( "Ala" );
- plik.writeInt( 2000 );
- plik.writeChar( 'k' );
- plik.writeUTF( "Wojtek" );
- plik.writeInt( 1995 );
- plik.writeChar( 'm' );
- plik.writeUTF( "0la" );
- plik.writeInt( 2001 );
- plik.writeChar( 'k' );
- plik.writeUTF( "Franek" );
- plik.writeInt( 1996 );
- plik.writeChar( 'm' );
- }
- catch( IOException e )
- {
- System.out.println( "Błąd tworzenia pliku" );
- }
- }
- static void rozdzielOsoby()
- {
- try( RandomAccessFile plik = new RandomAccessFile( "osoby.dat", "rw" );
- BufferedWriter pk = new BufferedWriter( new FileWriter( "kobiety.txt" ) );
- BufferedWriter pm = new BufferedWriter( new FileWriter( "mezczyzni.txt" ) )
- )
- {
- int ileOsob = plik.readInt();
- for( int licznik = 0; licznik < ileOsob; ++licznik )
- {
- String imie = plik.readUTF();
- int rok = plik.readInt();
- char kto = plik.readChar();
- if( 'k' == kto || 'K' == kto )
- {
- pk.write( imie + rok );
- pk.newLine();
- }
- else
- {
- pm.write( imie + rok );
- pm.newLine();
- }
- }
- }
- catch( IOException e )
- {
- System.out.println( "Błąd" );
- }
- }
- public static void main(String[] args)
- {
- // utworzPlikLiczb();
- // czytajPlikLiczb();
- // sumyCzesciowe();
- // czytajPlikLiczb();
- utworzPlikOsob();
- rozdzielOsoby();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement