将二维数组传输到文件中并返回
Transferring a 2D array into a file and back
我已经看过类似的问题,但我仍然停留在这段代码上。
public class MasterMindSaveLoad extends Board {
public void saveGame() {
ObjectOutputStream oos = new ObjectOutputStream(new FileWriter("saveGame.txt"));
for (int i=0; i<numPegs; i++) {
for (int j=0; j<numColours; j++) {
oos.writeObject(Board[i][j]);
}
}
for (int i=0; i<numPegs; i++) {
for (int j=0; j<numColours; j++) {
oos.writeObject(Feedback[i][j]);
}
}
}
public void loadGame(String savedGame) {
try {
} catch (MasterMindFileFormatException e) {
} catch (IOException e) {
}
}
}
我得到了一个非常粗略的布局,用于将二维数组保存到文件中并从中读回。我不确定如何去做,这就是我到目前为止所拥有的。我要实际保存两个二维数组,然后在读取的时候,我又得把它们放回各自的数组中。
您可以将二维数组作为对象处理
Board[][] board = new Board[][];
Object ob = board;
然后您可以使用 ObjectInputStream
简单地序列化和反序列化该对象
ObjectOutputStream oos = new ObjectOutputStream(new FileWriter("saveGame.txt"));
oos.writeObject(board); //simply write the entire object
检索刚刚读回的数据:
ObjectInputStream ois = new ObjectInputStream(new FileReader("saveGame.txt"));
Object o = ois.read();
board = (Board[][])o; //cast back to 2d array
Feedback[][]
也使用此技术
看看这个教程:http://www.journaldev.com/2452/java-serialization-example-tutorial-serializable-serialversionuid
我已经看过类似的问题,但我仍然停留在这段代码上。
public class MasterMindSaveLoad extends Board {
public void saveGame() {
ObjectOutputStream oos = new ObjectOutputStream(new FileWriter("saveGame.txt"));
for (int i=0; i<numPegs; i++) {
for (int j=0; j<numColours; j++) {
oos.writeObject(Board[i][j]);
}
}
for (int i=0; i<numPegs; i++) {
for (int j=0; j<numColours; j++) {
oos.writeObject(Feedback[i][j]);
}
}
}
public void loadGame(String savedGame) {
try {
} catch (MasterMindFileFormatException e) {
} catch (IOException e) {
}
}
}
我得到了一个非常粗略的布局,用于将二维数组保存到文件中并从中读回。我不确定如何去做,这就是我到目前为止所拥有的。我要实际保存两个二维数组,然后在读取的时候,我又得把它们放回各自的数组中。
您可以将二维数组作为对象处理
Board[][] board = new Board[][];
Object ob = board;
然后您可以使用 ObjectInputStream
简单地序列化和反序列化该对象ObjectOutputStream oos = new ObjectOutputStream(new FileWriter("saveGame.txt"));
oos.writeObject(board); //simply write the entire object
检索刚刚读回的数据:
ObjectInputStream ois = new ObjectInputStream(new FileReader("saveGame.txt"));
Object o = ois.read();
board = (Board[][])o; //cast back to 2d array
Feedback[][]
也使用此技术
看看这个教程:http://www.journaldev.com/2452/java-serialization-example-tutorial-serializable-serialversionuid