Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package pliki02;
- import java.io.BufferedReader;
- import java.io.BufferedWriter;
- import java.io.FileReader;
- import java.io.FileWriter;
- import java.io.IOException;
- import java.io.RandomAccessFile;
- import java.util.StringTokenizer;
- import java.util.logging.Level;
- import java.util.logging.Logger;
- public class Pliki02
- {
- static void utworzPlikZDanymi() throws IOException
- {
- RandomAccessFile plik = new RandomAccessFile("dane.bin","rw");
- plik.writeUTF("Kowalski");
- plik.writeInt(2000);
- plik.writeDouble(3500);
- plik.writeUTF("Nowak");
- plik.writeInt(1995);
- plik.writeDouble(2500);
- plik.writeUTF("Kwiatkowski");
- plik.writeInt(1966);
- plik.writeDouble(5000);
- plik.writeUTF("Iksiński");
- plik.writeInt(1999);
- plik.writeDouble(1000);
- plik.close();
- }
- static void pokazZawartoscPliku()
- {
- try(RandomAccessFile plik = new RandomAccessFile("dane.bin","r"))
- {
- while(plik.getFilePointer() < plik.length())
- {
- String nazwisko = plik.readUTF();
- int rok = plik.readInt();
- double pensja = plik.readDouble();
- System.out.printf("\nNazwisko: %s, rok: %d, pensja: %.2f\n", nazwisko, rok, pensja);
- }
- }
- catch(IOException e)
- {
- System.out.println("Wystąpił błąd " + e.getMessage());
- }
- }
- static void przepiszDoPlikuTekstowego()
- {
- try(RandomAccessFile plik = new RandomAccessFile("dane.bin","r");
- BufferedWriter plikTxt = new BufferedWriter(new FileWriter("dane.txt")))
- {
- while(plik.getFilePointer() < plik.length())
- {
- String nazwisko = plik.readUTF();
- int rok = plik.readInt();
- double pensja = plik.readDouble();
- if(rok >= 1999)
- {
- String linia = nazwisko + " " + pensja;
- plikTxt.write(linia);
- plikTxt.newLine();
- System.out.println("Zapisano " + linia);
- }
- }
- }
- catch(IOException e)
- {
- System.out.println("Wystąpił błąd " + e.getMessage());
- }
- }
- static void podniesPensjeO10Proc()
- {
- try(RandomAccessFile plik = new RandomAccessFile("dane.bin","rw"))
- {
- while(plik.getFilePointer() < plik.length())
- {
- String nazwisko = plik.readUTF();
- int rok = plik.readInt();
- double pensja = plik.readDouble();
- if(rok >= 1999)
- {
- plik.seek(plik.getFilePointer() - Double.BYTES);
- plik.writeDouble(pensja*1.1);
- }
- }
- }
- catch(IOException e)
- {
- System.out.println("Wystąpił błąd " + e.getMessage());
- }
- }
- static void emerytura(String nazwa)
- {
- try(
- BufferedReader plikTxt = new BufferedReader(new FileReader(nazwa));
- RandomAccessFile plikBinK = new RandomAccessFile("kobiety.bin", "rw");
- RandomAccessFile plikBinM = new RandomAccessFile("mezczyzni.bin", "rw")
- )
- {
- String linia;
- while((linia = plikTxt.readLine()) != null)
- {
- StringTokenizer tok = new StringTokenizer(linia, "-");
- String imie = tok.nextToken();
- String nazwisko = tok.nextToken();
- char plec = tok.nextToken().charAt(0);
- int wiek = Integer.parseInt(tok.nextToken());
- int doEmerytury;
- if(plec == 'K')
- {
- doEmerytury = (65 - wiek) * 12;
- plikBinK.writeUTF(nazwisko);
- plikBinK.writeInt(doEmerytury);
- System.out.printf("Kobita: %s %d\n", nazwisko, doEmerytury);
- }
- if(plec == 'M')
- {
- doEmerytury = (67 - wiek) * 12;
- plikBinM.writeUTF(nazwisko);
- plikBinM.writeInt(doEmerytury);
- System.out.printf("Chop: %s %d\n", nazwisko, doEmerytury);
- }
- }
- }
- catch (IOException ex)
- {
- ;
- }
- }
- public static void main(String[] args) throws IOException
- {
- utworzPlikZDanymi();
- pokazZawartoscPliku();
- przepiszDoPlikuTekstowego();
- podniesPensjeO10Proc();
- pokazZawartoscPliku();
- emerytura("pracownicy.txt");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement