Не пускает по 2-му пункту.
Не пойму, что хочет?
package com.javarush.task.task20.task2002;
import java.io.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Date;
//import java.util.Arrays;
/*
Читаем и пишем в файл:
JavaRush
*/
public class Solution {
/*
public static void pl(
Object s) {
System.out.println(
s);
}
*/
public static void main(
String[] args) {
try {
/*
File file =
File.
createTempFile(
"temp2001", null,
new File(args[0]));
*/
OutputStream
outputStream = new
FileOutputStream(
args[1] );
InputStream
inputStream = new
FileInputStream(
args[1] );
JavaRush javaRush =
new JavaRush();
/*
инициализируйте поле
users для объекта
javaRush тут */
User user =
new User();
user.setFirstName(
"Vog");
user.setLastName(
"Quy");
user.setBirthDate(
new Date(
1508944516168L));
user.setMale(true);
user.setCountry(
User.Country.RUSSIA);
/*инициализировали:*/
javaRush.users.
add(user);
/***********/
/*
System.out.println(
javaRush.toString());
System.out.println(
javaRush.users.
size());
pl(javaRush.users.
size());
for(User u :
javaRush.users){
System.out.println(
u.toString());
}
*/
/**********/
javaRush.save(
outputStream);
outputStream.flush();
JavaRush
loadedObject = new
JavaRush();
loadedObject.load(
inputStream);
/*
проверьте тут, что
javaRush и loadedObject
равны */
if(javaRush.equals(
loadedObject))
javaRush =
loadedObject;
/*
System.out.println(
javaRush.hashCode()
== loadedObject.
hashCode());
System.out.println(
javaRush.
equals(
loadedObject));
System.out.println(
javaRush.users.
hashCode());
System.out.println(
loadedObject.users.
hashCode());
*/
outputStream.close();
// inputStream.close();
} catch (IOException e) {
//e.printStackTrace();
System.out.println(
"1 Oops, something is "+
"wrong with my file");
} catch (Exception e) {
e.printStackTrace();
System.out.println(
"2 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 {
/*implement this method
- реализуйте этот метод
*/
for(User u : users){
outputStream.write((
u.getFirstName()+"\n"+
u.getLastName()+"\n"+
u.getBirthDate().
getTime() +"\n"+
u.isMale()+"\n"+
u.getCountry()
.getDisplayName()
).getBytes());
}
}
public void load(
InputStream
inputStream)
throws Exception {
/*implement this method
- реализуйте этот метод*/
try(
BufferedReader reader =
new BufferedReader(
new InputStreamReader(
inputStream));) {
if(users != null) {
while (
reader.ready()) {
User user = new
User();
user.setFirstName(
reader.readLine());
user.setLastName(
reader.readLine());
user.setBirthDate(
new Date(
Long.parseLong(
reader.readLine())));
user.setMale(
Boolean.
parseBoolean(
reader.readLine()));
String str =
reader.readLine();
if (str.equals(
"Ukraine")) {
user.setCountry(
User.Country.
UKRAINE);
}
if (str.equals(
"Russia")) {
user.setCountry(
User.Country.
RUSSIA);
}
if (str.equals(
"Other")) {
user.setCountry(
User.Country.
OTHER);
}
users.add(user);
/*
System.out.println(
"\nЭто ридер:\n"
+user);
*/
}
}
}
}
@Override
public boolean
equals(Object o) {
if (this == o)
return true;
/*
pl(
"\njavaRush != load:");
*/
if (o == null ||
getClass() !=
o.getClass())
return false;
/*
pl("\njR != null"+
" и classes==");
*/
JavaRush javaRush =
(JavaRush) o;
/*
pl(
"/nusers != null - " +
(users != null)+"\n"
);
pl(
"users.equals("+
"javaRush.users)?:"+
(users.equals(
javaRush.users)));
*/
return
users != null ?
users.equals(
javaRush.users)
:
javaRush.users == null;
}
@Override
public int hashCode() {
return
users != null ?
users.hashCode() : 0;
}
}
}