我在检查文件是否存在时遇到问题这是我的简单代码:
File myfile = new File ("SecretFile");
if(myfile.exists(){
TextView mytxt = (TextView)findViewById(R.id.textView);
mytxt.setText("Loaded successfully");
}
else{
try {
myfile.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
TextView mytxt = (TextView)findViewById(R.id.textView);
mytxt.setText("Not loaded,reboot the application");
}
我正在做一个简单的游戏,我需要检查第一个应用程序运行,因为当应用程序运行时,它从文件加载所有变量,但在第一次运行时,没有文件,所以应用程序崩溃。 我还有另一个问题文件“SecretFile”在哪里? 如何在Android / data / com.mypackage.myapp / SecretFile中创建文件?
答案 0 :(得分:9)
File myfile = new File ("SecretFile");
该声明在Android上没有任何意义。
我还有另一个问题,文件“SecretFile”在哪里?
无处。我们欢迎您将SecretFile
存储在internal storage或external storage,但您必须通过创建指向这些位置的File
对象来实现此目的(例如File myfile = new File(getFilesDir(), "SecretFile");
)。
如何在Android / data / com.mypackage.myapp / SecretFile中创建文件?
你做不到。最接近的匹配是use getExternalFilesDir(null)
,我在上面的代码段中有getFilesDir()
,这会将您的文件放在Android/data/com.mypackage.myapp/files/SecretFile
的外部存储空间中。正如Der Golem所指出的那样,您需要{API}级别4到18的WRITE_EXTERNAL_STORAGE
权限。
答案 1 :(得分:1)