当我尝试保存我的安卓游戏(通过我的Windows笔记本电脑上的Android模拟器播放)时,我得到FileNotFoundException
。我花了好几个小时尝试不同的东西,但仍然感到困惑,因为代码完全适用于我以前的版本,不适用于Android。
FileOutputStream saveStream;
ObjectOutputStream savePlayerObject = null;
String destinationFile = player1.getName() + ".txt";
try
{
saveStream = new FileOutputStream(destinationFile);
savePlayerObject = new ObjectOutputStream(saveStream);
savePlayerObject.writeObject(player1);
}
catch(FileNotFoundException ex)
{
Toast toast = Toast.makeText(getApplicationContext(), "Save Failed", Toast.LENGTH_LONG);
toast.show();
}
catch(IOException ex)
{
Toast toast = Toast.makeText(getApplicationContext(), "Save Failed", Toast.LENGTH_LONG);
toast.show();
}
finally
{
try
{
if(savePlayerObject !=null)
{
savePlayerObject.flush();
savePlayerObject.close();
Toast toast = Toast.makeText(getApplicationContext(), "Thank-You For Playing, See You Soon", Toast.LENGTH_LONG);
toast.show();
System.exit(0);
}
}
catch(IOException ex)
{
Toast toast = Toast.makeText(getApplicationContext(), "Save Failed", Toast.LENGTH_LONG);
toast.show();
}
}
答案 0 :(得分:1)
这意味着程序无法在指定位置创建文件。
String destinationFile = player1.getName() + ".txt";
该文件将在当前工作目录中创建。这通常不是你想要的。您需要考虑文件的确切位置,然后指定绝对路径。
答案 1 :(得分:0)
也许您没有必要的权限来创建新文件。