在我正在开发的Android应用程序中,用户应该能够在SD卡上创建一个新的CSV文件,并使用他们在EditText中输入的文本来命名。
问题是,在使用目录和文件名实例化File之后,即使文件确实存在于该位置,file.exists()返回false。我已经通过Android文件浏览器和Windows资源管理器浏览到SD卡,文件确实存在。
这是检查文件是否已经存在的正确方法吗?如果是,那么我缺少什么使它在存在时返回true?
问题是,在使用目录和文件名实例化File之后,即使文件确实存在于该位置,file.exists()返回false。我已经通过Android文件浏览器和Windows资源管理器浏览到SD卡,文件确实存在。
这是检查文件是否已经存在的正确方法吗?如果是,那么我缺少什么使它在存在时返回true?
String csvname = edittext.getText().toString() + ".csv";
File sdCard = Environment.getExternalStorageDirectory(); //path returns "/mnt/sdcard"
File dir = new File (sdCard.getAbsolutePath() + "/Android/data/" + getPackageName() + "/files/"); // path returns "/mnt/sdcard/Android/data/com.phx.license/files"
dir.mkdirs();
File file = new File(dir, csvname); //path returns "/mnt/sdcard/Android/data/com.phx.license/files/Test.csv"
if(!file.exists()) //WHY DOES IT SAY IT DOESN'T EXIST WHEN IT DOES?
{
...
}
File.separatorChar
来代替硬编码斜杠。 - Erick Robertson