System.out.println(loadedObject.equals(javaRush)); true
ошибок при запуске нет, что не так?
package com.javarush.task.task20.task2002;
import javafx.scene.chart.PieChart;
import javax.xml.crypto.Data;
import java.io.*;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/*
Читаем и пишем в файл: JavaRush
*/
public class Solution {
public static void main(String[] args) {
//you can find your_file_name.tmp in your TMP directory or adjust outputStream/inputStream according to your file's actual location
//вы можете найти your_file_name.tmp в папке TMP или исправьте outputStream/inputStream в соответствии с путем к вашему реальному файлу
try {
OutputStream outputStream = new FileOutputStream("roma.txt");
InputStream inputStream = new FileInputStream("roma.txt");
JavaRush javaRush = new JavaRush();
User user1 = new User();
User user2 = new User();
user1.setFirstName("Roma");
user1.setLastName("Krym");
user2.setLastName("Krym");
user1.setCountry(User.Country.UKRAINE);
user1.setBirthDate(new Date(0L));
user2.setBirthDate(new Date(0L));
javaRush.users.add(user1);
javaRush.users.add(user2);
javaRush.save(outputStream);
outputStream.flush();
JavaRush loadedObject = new JavaRush();
loadedObject.load(inputStream);
System.out.println(loadedObject.equals(javaRush));
outputStream.close();
inputStream.close();
} catch (IOException e) {
//e.printStackTrace();
System.out.println("Oops, something is wrong with my file");
} catch (Exception e) {
//e.printStackTrace();
System.out.println("Oops, something is wrong with the save/load method");
}
}
public static class JavaRush {
public List<User> users = new ArrayList<>();
public void save(OutputStream outputStream) throws Exception {
PrintWriter printWriter = new PrintWriter(outputStream);
if (!users.isEmpty()) {
String s = "Users are Present";
printWriter.write(s);
for (User user : users) {
printWriter.write("\n");
printWriter.write( user.getFirstName() == null ? "null" : user.getFirstName());
printWriter.write("\n");
printWriter.write( user.getLastName() == null ? "null" : user.getLastName());
printWriter.write("\n");
printWriter.write(""+ (user.getBirthDate() == null ? "null" : user.getBirthDate().getTime()));
printWriter.write("\n");
printWriter.write( user.getCountry() == null ? "null" : user.getCountry().getDisplayName());
}
}
printWriter.close();
}
public void load(InputStream inputStream) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
String s = reader.readLine();
if (!(s == null)) {
if (s.equals("Users are Present")) {
String check = reader.readLine();
while (!(check == null)) {
User user = new User();
if(!(check.equals("null"))) {
user.setFirstName(check);
}
check = reader.readLine();
if(!(check.equals("null"))) {
user.setLastName(check);
}
check = reader.readLine();
if(!(check.equals("null"))) {
user.setBirthDate(new Date(Long.parseLong(check)));
}
check = reader.readLine();
if(!(check.equals("null"))) {
switch (check) {
case "Ukraine":
user.setCountry(User.Country.UKRAINE);
break;
case "Russia":
user.setCountry(User.Country.RUSSIA);
break;
default:
user.setCountry(User.Country.OTHER);
break;
}
}
users.add(user);
check = reader.readLine();
}
}
}
reader.close();
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
JavaRush javaRush = (JavaRush) o;
return users != null ? users.equals(javaRush.users) : javaRush.users == null;
}
@Override
public int hashCode() {
return users != null ? users.hashCode() : 0;
}
}
}