我有一个非常小的问题。我正在写一个文件到 sdcard。我给你看两个代码,一个代码有效,另一个无效。它看起来像这样: 第一个,
new FileOutputStream("/sdcard/HelloWorld.txt")
这工作正常并在 sdcard 中创建了一个 HelloWorld.txt 文件。
现在是第二个,
new FileOutputStream(android.os.Environment.getExternalStorageDirectory()+java.io.File.separator + "filetest" + java.io.File.separator + "HelloWorld.txt")
这会引发错误“/mnt/sdcard/filetest/HelloWorld.txt(没有这样的文件或目录)
”。
我想知道为什么因为我的设备上有 mnt/sdcard 路径,如果是,它是否找不到 filetest 文件夹,那么如果之前没有创建它是否应该创建 filetest 文件夹。
谢谢。
最佳答案
如果filetest
不可用,先创建一个目录,
File file = new File(android.os.Environment.getExternalStorageDirectory()+java.io.File.separator + "filetest");
file.mkdir();
然后执行你的代码...
或
File f = new File(android.os.Environment.getExternalStorageDirectory()+java.io.File.separator + "filetest" + java.io.File.separator + "HelloWorld.txt");
if (!f.getParentFile().exists());
{
f.getParentFile().mkdir();
}
关于android - 写入SD卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8603984/