zeile 74
package de.codegym.task.task20.task2002;
import java.io.*;
import java.util.ArrayList;
import java.util.*;
/*
Lesen und Schreiben in eine Datei: CodeGym
*/
public class Solution {
public static void main(String[] args) {
// Du findest dein_dateiname.tmp in deinem TMP-Verzeichnis oder passe outputStream/inputStream entsprechend dem tatsächlichen Speicherort deiner Datei an
try {
File yourFile = File.createTempFile("dein_dateiname", null);
OutputStream outputStream = new FileOutputStream(yourFile);
InputStream inputStream = new FileInputStream(yourFile);
CodeGym codeGym = new CodeGym();
// Initialisiere hier das users-Feld für das codeGym-Objekt
codeGym.save(outputStream);
outputStream.flush();
CodeGym loadedObject = new CodeGym();
loadedObject.load(inputStream);
// Überprüfe hier, ob das codeGym-Objekt dem geladenen Objekt entspricht
System.out.println(codeGym.equals(loadedObject));
outputStream.close();
inputStream.close();
} catch (IOException e) {
//e.printStackTrace();
System.out.println("Hoppla, mit meiner Datei stimmt etwas nicht");
} catch (Exception e) {
//e.printStackTrace();
System.out.println("Hoppla, mit der Speicher-/Lademethode stimmt etwas nicht");
}
}
public static class CodeGym {
public List<User> users = new ArrayList<>();
public void save(OutputStream outputStream) throws Exception {
// Implementiere diese Methode
PrintWriter pw = new PrintWriter(outputStream);
String isNotEmpty = this.users.size() > 0 ? "ja" : "nein";
pw.println(isNotEmpty);
if(this.users.size() > 0){
for(User current : this.users){
pw.println(current.getFirstName());
pw.println(current.getLastName());
pw.println(current.getBirthDate());
pw.println(current.isMale());
pw.println(current.getCountry());
pw.flush();
}
}
pw.close();
}
public void load(InputStream inputStream) throws Exception {
// Implementiere diese Methode
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
String isNotEmpty = reader.readLine();
if(isNotEmpty.equals("ja")){
for(User current : users){
String firstName = current.getFirstName();
String lastName = current.getLastName();
Date birthDate = current.getBirthDate();
boolean isMale = current.isMale();
String country = current.getCountry().getDisplayName();
//this.users.add(new User(firstName, lastName, birthDate, isMale, country)); // hier <<<<<<<<<<<<<
}
}
reader.close();
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
CodeGym codeGym = (CodeGym) o;
return users != null ? users.equals(codeGym.users) : codeGym.users == null;
}
@Override
public int hashCode() {
return users != null ? users.hashCode() : 0;
}
}
}