Android文件存在问题
当我创建File File=new File(等)时,我实际上在SD卡上创建了那个文件?我有点困惑,因为每次我的条件为真,程序跳入if树,但在那个时候SD卡上并没有文件Android文件存在问题,android,file,file-exists,Android,File,File Exists,当我创建File File=new File(等)时,我实际上在SD卡上创建了那个文件?我有点困惑,因为每次我的条件为真,程序跳入if树,但在那个时候SD卡上并没有文件 String filename = "pictures.data"; String root = Environment.getExternalStorageDirectory().toString(); File dir = new File(root + "/courier/saved/");
String filename = "pictures.data";
String root = Environment.getExternalStorageDirectory().toString();
File dir = new File(root + "/courier/saved/");
File file = new File(dir,filename);
if (file.exists())
// program jumps here
else{
}
好的,您可以在dir/courier/saved/中查看文件。不管怎样,这是我的答案
String filename = "pictures.data";
String root = Environment.getExternalStorageDirectory().toString();
File dir = new File(root + "/courier/saved/");
File file = new File(dir,filename);
file.mkdirs();
if (file.exists())
// program now stops here
else{
}
最好是预先创建dir,但这会动态创建它为什么要使用
toString()
方法?您可以使用返回字符串的File.getPath()
。打印变量root。getExternalStorageDirectory()不能可靠地给出sd卡的位置(我已经看到不同的设备在这方面的行为不同)。一旦确认根变量确实指向外部SD卡,则可以进一步挖掘/storage/sdcard0是我的外部存储,因此/storage/sdcard0/courier/saved/被添加到路径中。在下一步中,iam检查文件是否不存在,如果(!dir.exists()){dir.mkdirs();}但若文件存在,则从文件中读取,然后再次保存…顺便说一句,欢迎使用Stackoverflow。这是一个新问题,你必须把它贴出来。在创建新问题的过程中,您将看到许多现有答案,请尝试。然后按“接受”以结束问题。如果您认为我的答案解决了这个问题,请按“接受”并向上投票,如果您满意的话