【发布时间】:2015-10-06 23:15:52
【问题描述】:
代码如下:
FileWriter writer = new FileWriter(csv);
for (String line: lines) {
writer.write(line);
writer.write("\r\n");
Log.d(TAG, line);
}
writer.close();
每一行都在 LogCat 中完美显示,并且在任何地方都没有抛出任何错误,但实际文件在第二行的末尾被截断。
编辑:
原来问题是 Android 的一个已知错误:https://code.google.com/p/android/issues/detail?id=38282
我通过在 writer.close 之后添加以下行来解决问题:
MediaScannerConnection.scanFile(context, new String[] { file.getAbsolutePath() }, null, null);
【问题讨论】:
-
您如何检查文件的内容?如果您使用非常简单的行(“a”、“b”、“c”)来执行此操作,您是否仍然观察到问题?
-
检查内容是什么意思?至于尝试简单的线条,是的,可以。
-
我的意思是你清楚地以某种方式查看文件(否则你不会知道有什么问题) - 你是怎么做到的?你到底看到了什么,怎么看?如果你不能用非常简单的线条重现这个,你有没有弄清楚这些线条需要包含什么才能导致问题?
-
哦,我现在明白了。我正在通过电脑上的手机读取内容来检查内容。
-
试试
new OutputStreamWriter(new FileOutputStream(csv), "UTF-8"))。可能是字符集问题。
标签: java android eclipse filewriter