【发布时间】:2015-08-27 18:56:54
【问题描述】:
我一直在寻找如何创建一个文件,然后在内部存储中写入它几天,但找不到任何有效或我能理解的东西。我以前从来没有做过这样的事情,所以我很迷茫。
根据android开发者网站页面,这段代码如果不存在应该创建一个文件夹,但是当我调用它时,它给了我一个错误。如果这意味着什么,该类将扩展 SurfaceView。
public GameView(Context context) {
super(context);
gameLoopThread = new GameLoopThread(this);
holder = getHolder();
holder.addCallback(new Callback() {
public void surfaceDestroyed(SurfaceHolder holder) {
System.exit(1);
}
public void surfaceCreated(SurfaceHolder holder) {
gameLoopThread.setRunning(true);
gameLoopThread.start();
}
public void surfaceChanged(SurfaceHolder holder, int format,
int width, int height) {
}
});
createFile();
}
public void createFile() {
String FILENAME = "hello_file";
String string = "hello world!";
FileOutputStream fos;
try {
fos = getContext().openFileOutput(FILENAME,Context.MODE_PRIVATE);
fos.write(string.getBytes());
fos.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
我最终想要做的就是在内部存储中创建一个文件,将一个整数(我的玩家在游戏中的得分)保存到该文件,然后能够加载并保存它。
谢谢。
【问题讨论】:
-
您是否收到错误消息?你能贴一下你的logcat吗?
-
如果你想实现持久键值对,我建议Android's SharedPreferences。
-
抱歉,耽误了一点时间。 "08-27 15:10:46.005: E/Trace(737): error opening trace file: No such file or directory (2)",
-
错误描述中没有提到文件名吗?使用 'context' 参数而不是 'getContext()'。
-
'此代码如果不存在,则应创建一个文件夹,'。不,它会创建一个文件。如果它已经存在,则删除它。