|
СЕРИАЛИЗАЦИЯ+XML
|
|||
---|---|---|---|
#18+
Может я торможу, но почему при сохранении в файл, не пишутся p.name = "Froot Loops"; p.sal = 12; p.id = 1; ????? ------------ import java.*; import java.io.*; import java.beans.XMLEncoder; public class Person implements Serializable { String name; public float sal; int id; public Person() { } public static void main(String args[]) { try { Person p = new Person(); p.name = "Froot Loops"; p.sal = 12; p.id = 1; XMLEncoder e = new XMLEncoder( new BufferedOutputStream( new FileOutputStream("Test1.xml"))); e.writeObject(p); e.close(); } catch (IOException e) { System.err.println( "Problems saving state"); } } } ------------------- Результат:Test1.xml <?xml version="1.0" encoding="UTF-8"?> <java version="1.4.2_04" class="java.beans.XMLDecoder"> <object class="ser.Person"/> </java> ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2004, 19:01 |
|
СЕРИАЛИЗАЦИЯ+XML
|
|||
---|---|---|---|
#18+
1. Класс мемберы должны быть public 2. Не используйте примитивные типы (вместо них должны бытьт wrapper-ы) То есть, если заменить Ваш класс на public class Person implements Serializable { public Person() {} public String name; public Float sal; public Integer id; } должно работать ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2004, 19:58 |
|
СЕРИАЛИЗАЦИЯ+XML
|
|||
---|---|---|---|
#18+
2lengom Не в этом дело... попробовал конечно для очистки совести и объявил как паблик и заменил примитивные типы import java.*; import java.io.*; import java.beans.XMLEncoder; import javax.swing.*; public class Person implements Serializable { public String name; public Float sal; public Integer id; public Person() { } public static void main(String args[]) { try { Person p = new Person(); p.name = (String)"Froot Loops"; p.sal = new Float(123); p.id = new Integer(1); XMLEncoder e = new XMLEncoder( new BufferedOutputStream( new FileOutputStream("Test1.xml"))); //e.writeObject(new JButton("Hello, world")); e.writeObject(p); e.close(); } catch (IOException e) { System.err.println( "Problems saving state"); } } } ------------ вот пример из хелпа XMLEncoder e = new XMLEncoder( new BufferedOutputStream( new FileOutputStream("Test.xml"))); e.writeObject(new JButton("Hello, world")); e.close(); а получается такой Test.xml <?xml version="1.0" encoding="UTF-8"?> <java version="1.4.2_04" class="java.beans.XMLDecoder"> <object class="javax.swing.JButton"> <string>Hello, world</string> </object> </java> ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2004, 12:27 |
|
СЕРИАЛИЗАЦИЯ+XML
|
|||
---|---|---|---|
#18+
Помог Blazkowicz с форума по яве с rsdn надо сделать геттеры и сеттеры для проертей. И всё заработает. т.е. ... public class Person implements Serializable { public String name; public Float sal; public Integer id; public Person() { } public String getName() { return name; } public void setName(String a) { this.name = a; } ... ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2004, 14:27 |
|
|
start [/forum/topic.php?fid=59&msg=32551460&tid=2154057]: |
0ms |
get settings: |
12ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
60ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
others: | 317ms |
total: | 482ms |
0 / 0 |