用Java保存对象
我有一个关于以下代码的问题。我创建了我的Player类的三个实例,然后将它们保存到一个文件中用Java保存对象,java,io,Java,Io,我有一个关于以下代码的问题。我创建了我的Player类的三个实例,然后将它们保存到一个文件中 Player a = new Player(1, "asd"); Player b = new Player(2, "asd"); Player c = new Player(3, "asd"); try { FileOutputStream fos = new FileOutputStream("Game.ser"); ObjectOutputStream oos = new Obj
Player a = new Player(1, "asd");
Player b = new Player(2, "asd");
Player c = new Player(3, "asd");
try {
FileOutputStream fos = new FileOutputStream("Game.ser");
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(a);
oos.writeObject(b);
oos.writeObject(c);
oos.close();
} catch (IOException e) {
e.printStackTrace();
}
Game.ser怎么了?这是一个实际创建的文件,还是仅在程序中?如果没有,它位于哪里?我在任何项目文件夹中都找不到它
程序运行良好。我只是想知道对象保存在哪里。它们保存在应用程序路径中。你可以用
new File("Game.ser").getAbsolutePath()
如果中提供了路径,则显示其位置
FileOutputStream fos = new FileOutputStream("Game.ser");
不是绝对的,它是相对于启动java
应用程序的文件夹创建/打开的
在像Eclipse这样的IDE中,应用程序通常从项目目录运行。例如,如果您的项目处于
C:\Users\You\workspace\MyApplication
该文件将在中创建
C:\Users\You\workspace\MyApplication\Game.ser
您可以通过运行来获得该路径
System.getProperty("user.dir");
如果您提供给
文件输出流的路径不是绝对路径,则它将相对于该路径。与您拥有Game.class的位置相同(假设Game是您显示给我们的类)。它是在应用程序所在的当前工作目录中创建的。