Здравствуйте! Начал изучать java по книге Head First Java(второе издание). И вот в главе 14, сериализация файлов, есть пример программы. Но суть в том, что этот пример не работает, даже с исходниками с официального сайта. Вот сам код :
первый файл
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.OutputStream;
public class GameSaverTest
{
public static void main (String[] args) {
GameCharacter one = new GameCharacter(50, "Elf", new String[] {"bow", "sword", "dust"});
GameCharacter two = new GameCharacter(200, "Troll", new String[] {"bare hands", "big axe"});
GameCharacter three = new GameCharacter(120, "Magician", new String[] {"spells", "invisibility"});
try {
ObjectOutputStream os = new ObjectOutputStream(new FileOutputStream("Game.ser"));
os.writeObject(one);
os.writeObject(two);
os.writeObject(three);
os.close();
}
catch (IOException ex) {
ex.printStackTrace();
}
one = null;
two = null;
three = null;
try {
ObjectInputStream is = new ObjectInputStream(new FileInputStream("Game.ser"));
GameCharacter oneRestore = (GameCharacter) is.readObject();
GameCharacter twoRestore = (GameCharacter) is.readObject();
GameCharacter threeRestore = (GameCharacter) is.readObject();
System.out.println("One's type: " + oneRestore.getType());
System.out.println("Two's type: " + twoRestore.getType());
System.out.println("Three's type: " + threeRestore.getType());
}
catch (Exception ex) {
ex.printStackTrace();
}
}
}
второй файл:
package chap14;
import java.io.Serializable;
public class GameCharacter implements Serializable
{
int power;
String type;
String[] weapons;
public GameCharacter(int p, String t, String[] w)
{
power = p;
type = t;
weapons = w;
}
public int getPower() {
return power;
}
public String getType() {
return type;
}
public String getWeapons() {
String weaponList = "";
for (int i = 0; i < weapons.length; i++)
{
weaponList += weapons[i] + " ";
}
return weaponList;
}
}
Ошибки при компилировании:
GameSaverTest.java:13: error: cannot find symbol
GameCharacter one = new GameCharacter(50, "Elf", new String[] {"bow", "sword", "dust"});
^
symbol: class GameCharacter
location: class GameSaverTest
GameSaverTest.java:13: error: cannot find symbol
GameCharacter one = new GameCharacter(50, "Elf", new String[] {"bow", "sword", "dust"});
^
symbol: class GameCharacter
location: class GameSaverTest
GameSaverTest.java:14: error: cannot find symbol
GameCharacter two = new GameCharacter(200, "Troll", new String[] {"bare hands", "big axe"});
^
symbol: class GameCharacter
location: class GameSaverTest
GameSaverTest.java:14: error: cannot find symbol
GameCharacter two = new GameCharacter(200, "Troll", new String[] {"bare hands", "big axe"});
^
symbol: class GameCharacter
location: class GameSaverTest
GameSaverTest.java:15: error: cannot find symbol
GameCharacter three = new GameCharacter(120, "Magician", new String[] {"spells", "invisibility"});
^
symbol: class GameCharacter
location: class GameSaverTest
GameSaverTest.java:15: error: cannot find symbol
GameCharacter three = new GameCharacter(120, "Magician", new String[] {"spells", "invisibility"});
^
symbol: class GameCharacter
location: class GameSaverTest
GameSaverTest.java:34: error: cannot find symbol
GameCharacter oneRestore = (GameCharacter) is.readObject();
^
symbol: class GameCharacter
location: class GameSaverTest
GameSaverTest.java:34: error: cannot find symbol
GameCharacter oneRestore = (GameCharacter) is.readObject();
^
symbol: class GameCharacter
location: class GameSaverTest
GameSaverTest.java:35: error: cannot find symbol
GameCharacter twoRestore = (GameCharacter) is.readObject();
^
symbol: class GameCharacter
location: class GameSaverTest
GameSaverTest.java:35: error: cannot find symbol
GameCharacter twoRestore = (GameCharacter) is.readObject();
^
symbol: class GameCharacter
location: class GameSaverTest
GameSaverTest.java:36: error: cannot find symbol
GameCharacter threeRestore = (GameCharacter) is.readObject();
^
symbol: class GameCharacter
location: class GameSaverTest
GameSaverTest.java:36: error: cannot find symbol
GameCharacter threeRestore = (GameCharacter) is.readObject();
^
symbol: class GameCharacter
location: class GameSaverTest
12 errors
Собственно все...