Zapis i odczyt danych z pliku tekstowego

2015-07-31 12:52

Rejestracja: 5 lat temu

Ostatnio: 6 godzin temu

0

Witam!
Mam problem dotyczący zapisu danych do pliku, a mianowicie napisałem program który dodaje pracowników ich pensje itd, i jedną z funkcji programu w menu ma być "Eksport pracowników do txt". Korzystam z arraylist jeśli to w czymś pomoże. Przewertowałem tematy i <ort>ni jak</ort> mi to wychodzi, chce aby dane pracowników trafiały do pliku i żeby po ponownym uruchomieniu programu były sczytywane. Z góry dziękuje za pomoc.

edytowany 1x, ostatnio: furious programming, 2015-07-31 20:18

Pozostało 580 znaków

2015-07-31 12:53

Rejestracja: 7 lat temu

Ostatnio: 24 minuty temu

2
import java.io.FileWriter;

// ...

FileWriter writer = new FileWriter("output.txt"); 
for(String str: arr) {
    writer.write(str);
}
writer.close();
edytowany 2x, ostatnio: spartanPAGE, 2015-07-31 12:54

Pozostało 580 znaków

2015-07-31 12:57
Moderator

Rejestracja: 12 lat temu

Ostatnio: 2 miesiące temu

Raczej (żeby ułatwić odczyt)

for(String str: arr) {
    writer.write(str+"\n");
}

To smutne, że głupcy są tak pewni siebie, a ludzie mądrzy - tak pełni wątpliwości. Bertrand Russell

Pozostało 580 znaków

2015-07-31 14:08

Rejestracja: 5 lat temu

Ostatnio: 6 godzin temu

0

Ok ! Pół sukcesu jest zapisuje już do pliku, teraz jak zrobić aby po uruchomieniu i wciśnięciu w menu "wyświetl pracowników" importowało ich z pliku ??

Pozostało 580 znaków

2015-07-31 14:17

Rejestracja: 7 lat temu

Ostatnio: 24 minuty temu

0

FileReader

Pozostało 580 znaków

2015-07-31 14:23

Rejestracja: 5 lat temu

Ostatnio: 6 godzin temu

0

Tak wpadłem na to jak napisałem post, tylko jak:

public void load () throws IOException
{
try
{
FileReader reader = new ...
for (Pracownicy p : lista)
{
      reader,read () // <--- i tu tak jak w przypadku FileWritera wpisałem lista+"" w przypadki Readera nie przepuszcza pojawia się błąd
}
reader.close();

...
edytowany 2x, ostatnio: furious programming, 2015-07-31 15:28
Wstawiaj kod w znaczniki &lt;code=java&gt; - furious programming 2015-07-31 15:28

Pozostało 580 znaków

2015-07-31 17:43
Moderator

Rejestracja: 12 lat temu

Ostatnio: 2 miesiące temu

0
BufferedReader input = new BufferedReader(new FileWriter(...));
String line = "";
boolean done = false;
while(!done)
{
    line = input.readLine();
    if(line == null)
    {
        done = true;
    }
    else
    {
        pracownicy.add(new Pracownik(line));
        //dopisz odpowiedni konstruktor w klasie Pracownik
    }
}

Prostsze rozwiązanie to serializacja.


To smutne, że głupcy są tak pewni siebie, a ludzie mądrzy - tak pełni wątpliwości. Bertrand Russell
edytowany 3x, ostatnio: bogdans, 2015-07-31 18:29

Pozostało 580 znaków

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0