Форум программистов, компьютерный форум, киберфорум
Java
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.86/14: Рейтинг темы: голосов - 14, средняя оценка - 4.86
0 / 0 / 1
Регистрация: 05.09.2009
Сообщений: 14
1

Сериализация

04.12.2009, 00:01. Просмотров 2720. Ответов 5
Метки нет (Все метки)


Здравствуйте еще раз,уважаемые.При написании мною приложения встал вопрос о том-как сериализовать
мой класс Album
Java
1
2
3
4
5
6
7
public class Album implements Serializable {
    private String name;
    private Date dateCreate;
    private Date dateChange;
    private ArrayList<Foto> listFoto = new ArrayList();
    private ArrayList<Category> listCategory = new ArrayList();
    private HashMap<Users, Permission> right = new HashMap();
Замечу также,что Permission это энам
Java
1
2
3
enum Permission implements Serializable{
    isReadOnly, isModified;
}
Классы User,Foto у меня тоже у меня также имплеминтируют Serializable.Проблема в том,что когда я делаю сериализацию,у меня не получается сериализовать в ХМЛ.Причем серриализация останавливается на попытке серриализовать
Java
1
private ArrayList<Foto> listFoto = new ArrayList();
Благодарю всех заранее за ответы и помощь.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.12.2009, 00:01
Ответы с готовыми решениями:

Сериализация
Нужно из 1-го класса передать во второй класс объект, который будет превращен в последовательность...

Сериализация
куда в этом коде запишется объект? ByteArrayOutputStream bOut = new ByteArrayOutputStream(); ...

Очистка памяти и сериализация
Для выполнения одной задачи мне потребовалось хранить очень большое количество объектов. Хранить их...

Сериализация объектов (Serialization).
Идея заключается в том, что бы создав объект, записать его на жесткий диск, для того, что бы его...

5
682 / 231 / 16
Регистрация: 15.10.2007
Сообщений: 1,247
04.12.2009, 01:27 2
ты код покажи как сериализируешь
да и еще я же те советовал фотки хранить в категориях,а не в альбоме
1
0 / 0 / 1
Регистрация: 05.09.2009
Сообщений: 14
07.12.2009, 17:37  [ТС] 3
Сорри,инета не было.С сериализацией разобрался,НО...Возникла одна ошибка.
Java
1
2
3
java.lang.InstantiationException: Users
Continuing ...
java.lang.Exception: XMLEncoder: discarding statement ArrayList.add(Users);
Это происходит,когда я сериализую объект таким способом:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public class FileDAOUsers {
 
    File f = new File("Users.xml");
 
    public  void  UsersWrite() throws IOException {
        try{
            ObjectOutputStream coder = new ObjectOutputStream(new BufferedOutputStream(new FileOutputStream(f)));
            XMLEncoder xmlEncoder = new XMLEncoder(coder);
            ArrayList<Users> userArr= new ArrayList();
            userArr = UsersDAO.getinstance().getAllUser();
            xmlEncoder.writeObject(userArr);
            xmlEncoder.flush();
            xmlEncoder.close();
            coder.close();
        }
        catch (IOException e){
            throw new UnexpectedException("Файл Users.xml, ошибка записи!!!");
        }
    }
Сам класс Users
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
public class Users implements Serializable {
    private String login;
    private String password;
    private String name;
 
    public Users(String newPassword, String newLogin, String newName){
        setLogin(newLogin);
        setPassword(newPassword);
        setName(newName);
    }
 
    public String getLogin() {
        return login;
    }
 
    public void setLogin(String login) {
        this.login = login;
    }
 
    public String getPassword() {
        return password;
    }
 
    public void setPassword(String password) {
        this.password = password;
    }
 
    public String getName() {
        return name;
    }
 
    public void setName(String name) {
        this.name = name;
    }
}
При сериализации таким же способом классов Album,Category и Foto все нормально.Проблема лишь в данном случае.Заранее благодарю за помощь.

Добавлено через 1 час 11 минут
Только что решил проблему-создал пустой конструктор в Users(там до него был только мой с параметрами) и все прошло успешно.Если можете подсказать еще одну вещь-то буду ООООЧЕНЬ благодарен))Читал про паттерн комманда.Общую суть понял,а вот реализация не очень.Т.е. у нас есть конкретные реализации каждой комманды.По заданию у меня нужно создать консольное меню.Т.е. это вкратце выглядит след образом:
1)Альбом
1.1)Создать
1.2)Удалить
...
2)Категория
2.1)Создать
...
.
.
n)Сохранить и выйти.
А вот что является клиентом,инициатором и получателем в данном случае?
0
682 / 231 / 16
Регистрация: 15.10.2007
Сообщений: 1,247
07.12.2009, 17:54 4
я редко использую этот паттерн
вот ссылка с примерами http://www.java2s.com/Code/Jav... nJava1.htm

Добавлено через 12 секунд
я редко использую этот паттерн
вот ссылка с примерами http://www.java2s.com/Code/Jav... nJava1.htm
1
0 / 0 / 1
Регистрация: 05.09.2009
Сообщений: 14
10.12.2009, 10:36  [ТС] 5
Подскажите,пожалуйста,какой компонент из swing'а лучше всего использовать для отображения своих объектов.Опять же-по фотоальбому-есть объекты "категории" и их нужно отобразить примерно как в "проводнике".Т.е. слева-дерево(я его сделал-но вопрос по дереву еще такой:каким образом сделать так,чтобы названия были в дереве не "Category@1098",например,а "Имя категории".При этом,чтобы объект в дереве пр щелчке на этом листе был именно категорией,а не ее именем),а справа-поле со списком объектов,которые находятся в выбранной категории(альбоме).И,при этом-чтобы также отображались лишь их имена.Заранее благодарю.
0
682 / 231 / 16
Регистрация: 15.10.2007
Сообщений: 1,247
10.12.2009, 14:00 6
Переопледили метод ToString()
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.12.2009, 14:00

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Зачем нужна сериализация в JAVA
Здравствуйте уважаемые программисты!! Помогите пожалуйста студенту-чайнику, объясните мне...

Система ввода/вывода и сериализация
Здравствуйте! Я начинаю программировать на JAVA и хотелось бы узнать такую вещь: У меня есть...

XML сериализация java обьектов
Хочу сериализовать в файл свои компоненты - наследники JLabel, JButton и т.д. Когда делаю это по...

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

Gson. Сериализация/десериализация с сохранением типов данных
Добрый вечер Использую GSon. При десеариализации данных из JSON структура класса к которому...

Сериализация
Здравствуйте такое задание нужно при сохранении и обновлении данных массива объектов обеспечить...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.