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 (No such file or directory)
”。
我想知道为什么因为我的设备上有mnt / sdcard路径,是不是找不到filetest文件夹,如果是,那么它不应该创建filetest文件夹,如果之前没有创建它。
感谢。
答案 0 :(得分:4)
首先制作filetest
目录,如果该目录不可用,
File file = new File(android.os.Environment.getExternalStorageDirectory()+java.io.File.separator + "filetest");
file.mkdir();
然后执行你的代码......
OR
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();
}
答案 1 :(得分:2)
是........ filetest文件夹不在那里你需要手动或以编程方式创建它。并尝试该代码......这样你就能获得成功。
你也可以像这样创建目录::
File wallpaperDirectory = new File("/sdcard/filetest/");
// have the object build the directory structure, if needed.
wallpaperDirectory.mkdirs();
// create a File object for the output file
File outputFile = new File(wallpaperDirectory, filename);
// now attach the OutputStream to the file object, instead of a String representation
FileOutputStream fos = new FileOutputStream(outputFile);
使用权限:::
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />