我遇到了阻止我发布应用的问题,所以也许你可以提供帮助。我有这个代码来创建和写入文件:
@Override
public void onClick (View view){
final String memoryString = memory.getText().toString();
File file = new File(getApplicationContext().getFilesDir(), filename);
FileOutputStream fos = new FileOutputStream(file);
if (location != null) {
String s = location.toString() + " " + memoryString;
Log.d(null, s);
if(fos != null) {
Log.d(null, "fos not null");
fos.write(s.getBytes());
} else {
Log.d(null, "Output Stream is null");
}
fos.close();
Log.d(null, "file created!");
}
} catch (IOException e) {
e.printStackTrace();
}
我的日志说它正在创建文件。但是当我去访问并阅读所述文件时,我在这里得到的错误是它不存在:
try {
File memoryFile = new File(filename);
if(memoryFile.exists()){
revealMarkers(memoryFile);
Log.d(null, "revealed");
} else {
Log.d(null, "no file found");
}
} catch (FileNotFoundException ex) {
Log.d(null, "file not found");
}
如果你有能力,请帮忙,我非常困难
答案 0 :(得分:0)
也许这个?
try {
File memoryFile = new File(getApplicationContext().getFilesDir(), filename);
if(memoryFile.exists()){
revealMarkers(memoryFile);
Log.d(null, "revealed");
}else{Log.d(null, "no file found");}
} catch (FileNotFoundException ex) {
Log.d(null, "file not found");
}
答案 1 :(得分:0)
您是如何使用此声明创建文件的?
File file = new File(getApplicationContext().getFilesDir(), filename);
然后尝试使用此
检索文件File memoryFile = new File(filename);
为什么不能使用相同的声明。第二个语句如何确定包含该文件的目录?