我有一个对象:
public class Game {
int idGame;
String teamHome;
String teamVisit;
int goalsHome;
int goalsVisit;
}
构造函数:
public Game(int id, String Home, String Visit, int goalsHome, int goalsVisit){
this.idGame = id;
this.teamHome = Home;
this.teamVisit = Visit;
this.goalsHome = goalsHome;
this.goalsVisit = goalsVisit;
}
以及所有get / set
public int getIdGame(){
return idGame;
}
public String getteamLocal(){
return teamLocal;
}
public String getteamVisit(){
return teamVisit;
}
..... etc.
我使用GUI界面捕获数据并在数组列表中创建对象
ArrayList<Game> GameList = new ArrayList();
......
Game game = new Game();
game.setteamLocal(teamLocal);
game.setteamVisita(teamVisita);
game.setgoalsLocal(goalsLocal);
game.setgoalsVisita(goalsVisita);
game.setIdGame(id);
GameList.add(Game);
到目前为止,我有ArrayList,其中包含来自不同游戏的所有数据。
我现在需要创建一个包含所有这些数据的顺序文本文件,这是我的问题。我正在尝试
FileOutputStream fos = new FileOutputStream("games.txt");
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(GameList);
oos.close();
ArrayLists应该是Serializable,但是我可以使用它。获取java.io.NotSerializableException:....
知道如何创建文件吗?
答案 0 :(得分:1)
您的游戏对象不可序列化。一旦你解决了这个问题,就可以了。
即, class Game实现了Serializable
答案 1 :(得分:0)
如果您希望它是人类可读的文本,请将对象用于xml或json解析器(Jackson)或打印管道分隔的字符串。
PrintWriter out = new PrintWriter(“games.txt”); 通过out.println(game.getXXX()+ “|”); // ... ...抓住 终于out.close