有人可以看看这段代码,让我知道我做错了什么吗?这是一个简单的函数,它接受一个字符串作为参数,并将其用作文件名,并在其末尾添加“.txt”。
该函数检查文件是否存在,如果不存在则创建它,然后将两行文本写入文件。一切似乎都在工作,并且在 sd 卡上成功创建了文件。然而,一切都完成后,文件是空的(并且大小为 0 字节)。
我怀疑我忽略了一些显而易见的事情。
public void writeFile(String fileName) {
String myPath = new File(Environment.getExternalStorageDirectory(), "SubFolderName");
myPath.mkdirs();
File file = new File(myPath, fileName+".txt");
try {
if (!file.exists()) {
if (!file.createNewFile()) {
Toast.makeText(this, "Error Creating File", Toast.LENGTH_LONG).show();
return;
}
}
OutputStreamWriter writer = new OutputStreamWriter(openFileOutput(file.getName(), Context.MODE_PRIVATE));
writer.append("First line").append('\n');
writer.append("Second line").append('\n');
writer.close();
}
catch (IOException e) {
// Do whatever
}
}