use*_*692 4 android text file fileoutputstream
使用以下代码,我尝试写入我的SD卡:
public void writedata(String data) {
//BufferedWriter out = null;
System.out.println(data);
try{
FileOutputStream out = new FileOutputStream(new File("/sdcard/tsxt.txt"));
out.write(data.getBytes());
out.close();
} catch (Exception e) { //fehlende Permission oder sd an pc gemountet}
System.out.println("CCCCCCCCCCCCCCCCCCCCCCCALSKDJLAK");
}
}
Run Code Online (Sandbox Code Playgroud)
清单中的许可:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
Run Code Online (Sandbox Code Playgroud)
但现在,当我打开文件时,没有任何内容.哪个问题?我确定data有一些价值.
编辑:
我在LogCat中收到此消息:
02-06 01:59:51.676: W/System.err(1197): java.io.FileNotFoundException: /storage/sdcard0/sdcard/tsxt.txt: open failed: ENOENT (No such file or directory)
Run Code Online (Sandbox Code Playgroud)
我试图在SD卡上创建文件,但仍然是同样的错误.如果文件不存在,是否有创建文件的代码?
试试这段代码:
File sdCard = Environment.getExternalStorageDirectory();
File dir = new File (sdCard.getAbsolutePath() + "/dir");
File file = new File(dir, "tsxt.txt");
FileOutputStream f = new FileOutputStream(file);
Run Code Online (Sandbox Code Playgroud)
所以文件的路径不正确.您应该删除目录名称:
File dir = new File (sdCard.getAbsolutePath() + "/");
Run Code Online (Sandbox Code Playgroud)