public static void main(String[] args) { // you can find your_file_name.tmp in your TMP directory or fix outputStream/inputStream // according to your real file location // вы можете найти your_file_name.tmp в папке TMP или исправьте outputStream/inputStream в // соответствии с путем к вашему реальному файлу try { File your_file_name = new File("/home/alexey/pro/out"); OutputStream outputStream = new FileOutputStream(your_file_name); InputStream inputStream = new FileInputStream(your_file_name); User u1 = new User(); User u2 = new User(); u1.setCountry(User.Country.UKRAINE); u2.setCountry(User.Country.OTHER); u1.setBirthDate(new GregorianCalendar(1991, 2, 21).getTime()); u2.setBirthDate(new GregorianCalendar(1990, 11, 7).getTime()); u1.setFirstName("Antonio"); u2.setFirstName("Joni"); u1.setLastName("Kokovetzh"); u2.setLastName("Pakolonetzh"); u1.setMale(true); u2.setMale(true); JavaRush javaRush = new JavaRush(); javaRush.users.add(u1); javaRush.users.add(u2); javaRush.save(outputStream); outputStream.flush(); JavaRush loadedObject = new JavaRush(); loadedObject.load(inputStream); Comparator<List<User>> c = new Comparator<List<User>>() { @Override public int compare(List<User> u1, List<User> u2) { int c = 0; if (u1.size() == u2.size()) for (int i = 0; i < u1.size(); i++) { if (u1.get(i).getBirthDate().equals(u2.get(i).getBirthDate())) c++; if (u1.get(i).getCountry().equals(u2.get(i).getCountry())) c++; if (u1.get(i).getFirstName().equals(u2.get(i).getFirstName())) c++; if (u1.get(i).getLastName().equals(u2.get(i).getLastName())) c++; if (u1.get(i).isMale() == u2.get(i).isMale()) c++; } return c; } }; if (c.compare(javaRush.users, loadedObject.users) == javaRush.users.size() * 5) System.out.println("OK"); else System.out.println("NOT"); outputStream.close(); inputStream.close(); } catch (IOException e) { // e.printStackTrace(); System.out.println("Oops, something wrong with my file"); } catch (Exception e) { // e.printStackTrace(); System.out.println("Oops, something wrong with save/load method"); } }