Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 23.07.2014
Сообщений: 34
1

Десериализация объекта из файла

13.10.2016, 21:49. Показов 818. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Хотел написать простой дневник тренировок, всё вроде бы удалось, но возникли проблемы с считиванием "базы" из файла. Помогите решить проблему, пожалуйста. И если какие-то замечания по коду, критика, всё выслушаю, так как опыта разработки мало.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import java.util.*;
 
public class Exercise {
    private List<Integer> repetitions = new ArrayList<>();
    private String date;
    private String name;
    private Scanner scn = new Scanner(System.in);
 
    public Exercise(String d, String n, int q) {
        this.date = d;
        this.name = n;
        
        for(int i = 0; i < q; i++) {
        System.out.println("Введіть підхід №"+(i+1));
            addRep();
        }
    }
 
    public void addRep() {
        int value = scn.nextInt();
        repetitions.add(value);
    }
 
    public void printAll(){
        System.out.println(date + " | " + name);
        System.out.println("--------------------------------");
        int n = 1;
        for(int i : repetitions) {
            System.out.println("№" + n + " | " + i);
            n++;
        }
        System.out.println("--------------------------------");
        System.out.println();
    }
 
}
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
import java.util.*;
import java.io.*;
 
public class Training implements Serializable {
    private static List<Exercise> listTrainings = new ArrayList<>();
 
    public static void main(String[] args) {
        Training training = new Training();
        training = readFromFile();
                    training.printAll();
 
        int choice;
        while((choice = input())!=0) {
            switch (choice) {
                case 1: training.addTraining();
                break;
                case 2: training.printAll();
                break;
            }
            saveToFile(training);
        }
    }
 
        private static int input() {
            Scanner scn = new Scanner(System.in);
            System.out.println("Choose : ");
            System.out.println("1 - Додати тренування");
            System.out.println("2 - Показати усі");
            System.out.println("0 - Вихід");
            int i = scn.nextInt();
            scn.reset();
            return i;
    }
    public  void printAll(){
        for (Exercise e : listTrainings ) {
            e.printAll();
        }       
    }
    public void addTraining(){
        Scanner scn = new Scanner(System.in);
        String name, date;
        int quentity = 0;
        System.out.println("Введіть назву:");
        name = scn.next();
        System.out.println("Введіть дату(дд/мм/рр):");
        date = scn.next();
 
        try {
            System.out.println("Введіть кількість підходів:");
            quentity = scn.nextInt();
            Exercise ex = new Exercise(name, date, quentity);
            listTrainings.add(ex);
        }
        catch (InputMismatchException e) {
            System.out.println("Помилка вводу!");
        }
        scn.reset();
    }
    public static void saveToFile(Training training) {
        try(ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("training.txt"))) {
              out.writeObject(training);
              out.close();
      }
      catch (Exception e) {
          System.out.println("Error! " + e.getMessage());
 
      }
    }
 
    public static Training readFromFile() {
    try(ObjectInputStream in = new ObjectInputStream(new FileInputStream("training.txt"))) {
            return (Training)in.readObject();
    }
    catch (Exception e) {
          System.out.println("Error! " + e.getMessage());
          return null;
    }
    }
 
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.10.2016, 21:49
Ответы с готовыми решениями:

десериализация файла
Здравствуйте. Пытаюсь сделать десериализацию текстового файла, который прежде был сериализирован....

Gson десериализация объекта в объекте
Всем привет, не могу сообразить как сделать... есть класс: public class Message { private...

Сериализация и десериализация объекта в байты и текст
Мира вам. Перейду сразу к сути задания, цитата из методички: Space, Floor и Building - это...

Десериализация объекта C# класса из файла
Добрый день, уважаемые коллеги. Прошу совета Есть бинарный файл, в котором существует...

2
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
14.10.2016, 00:34 2
какого рода проблемы?
0
0 / 0 / 0
Регистрация: 23.07.2014
Сообщений: 34
14.10.2016, 11:08  [ТС] 3
Проблема в том, что не считывает из файла.Ни исключений, ничего, просто не читает.
0
14.10.2016, 11:08
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.10.2016, 11:08
Помогаю со студенческими работами здесь

JSON десериализация объекта
Доброго времени суток форумчане. ex = JsonConvert.DeserializeObject&lt;EX_VAL&gt;(result); foreach...

Json десериализация объекта
Доброго времени суток. Уже 2 день изучаю json ответы от сервера(десериализацию json в объект c#)...

Десериализация объекта в массив
Извиняюсь за беспокойство. Нужна помощь в реализации десериализации объектов в массив....

Сериализация (десериализация) объекта типа geometry
Доброго времени! Почему Hibernate отказывается десериализовывать объекты типа geometry? Есть...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru