请帮忙...... 我在我的应用程序的第一个Activity中创建了一个文本文件,这一切都正常。 在我的下一个活动中,我想要附加到文本文件。
但是当我尝试追加捕获时会抛出以下错误..
mnt/scard/PatRecords/testfile.txt contains a file seperator
文件中没有添加任何内容。
我的追加代码是..
try {
File directory = new File
(Environment.getExternalStorageDirectory().getPath()+"/PatRecords");
FileOutputStream fOut = openFileOutput(directory.getPath()+"/"+FileName$, MODE_APPEND);
OutputStreamWriter OutWriter = new OutputStreamWriter(fOut);
OutWriter.write(TestNo$+"\n");
OutWriter.write(Date$+"\n");
OutWriter.close();
fOut.close();
} catch (Exception e) {
Toast.makeText(getBaseContext(), e.getMessage(),
Toast.LENGTH_SHORT).show();
Error=1;
}//End of try/catch
我试过删除分离器等但仍然无效,据我所见 catch错误中显示的路径是正确的......?
答案 0 :(得分:1)
openFileOutput()
用于打开程序数据文件夹中的文件,该文件夹位于内部存储器中,您只能提供文件名,而不是路径,因此抱怨mnt/scard/PatRecords/testfile.txt contains a file separator
。
如果你想打开SD卡上的文件,你必须使用FileOutputStream()
或类似的东西:
File of = new File(Environment.getExternalStorageDirectory(), filename);
FileOutputStream fos = new FileOutputStream(file);
fos.write(data);
fos.flush();
fos.close();