Witam.
mam do napiasnia program w którym stworze klase student która składa sie z składowych Imie Nazwisko, indeks, gdzie indeks jest odzielna klasa skladajaca sie z 5 przedmiotow.
nastepnie kazdego studenta mam zapisac do pliku w nowym wierszu.
problem polega na tym że nadpisuje mi danych, a niektórych mam wrażenie że w ogole nie wpisuje.
oto kod z klasy Indeks zapisujący dane do pliku:
public void zapisz()throws FileNotFoundException,IOException{
FileWriter plik=new FileWriter("F:\\plikizjavy\\lab5zad2.txt",true);
PrintWriter zapis=new PrintWriter(plik);
for(int i=0;i<2;i++){
zapis.print(przedmioty[i].getnazwa()+": "+przedmioty[i].getocena()+", ");
}
zapis.println();
zapis.close();
}
To natosmiast metody z klasy Student:
metoda tworząca plik:
private void utworzplik(){
File plik = new File("F:\\plikizjavy\\lab5zad2.txt");
if( plik.isFile() == true){
System.out.println("plik istnieje");
}
else{
try{
boolean b = plik.createNewFile();
}
catch(IOException e){
System.out.println("Nie można utworzyć pliku");
}
}
}
metoda zapisująca dane do pliku:
public void zapisz()throws FileNotFoundException,IOException{
FileWriter plik=new FileWriter("F:\\plikizjavy\\lab5zad2.txt");
utworzplik();
PrintWriter zapisz=new PrintWriter(plik);
zapisz.print("Student: "+imie+" "+nazwisko);
zapisz.print(" oceny: ");
indeks.zapisz();
zapisz.close();
}
i To main w ktorym wywoluje te metody:
public static void main(String[] args) {
Student Kuba=new Student();
Kuba.ustaw();
try{
Kuba.zapisz();
}
catch(FileNotFoundException e){
System.out.print(e);
}
catch(IOException e){
System.out.println(e);
}
}
dla przykładowo wprowadzonych danych:
Jan Kowalski matematyka 4 angielski 3
Przemyslaw Kowal francuski 3 fizyka 4
Wynik w pliku tekstowym to:
"Student Jan Kowalski Oceny:"
ktoś by mógł mi wyjaśnić co ja własciwie robie źle?