FileWriter 不会写入所有文件——是的,我调用了 close()
FileWriter won't write all of the file - yes, I have called close()
代码如下:
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(上下文, new String[] { file.getAbsolutePath() }, null, null);
我觉得你写的内容还在内存里,没有同步到磁盘。
有时文件系统会等待更多内容一起刷新到磁盘。
原来这个问题是 Android 的一个已知错误:https://code.google.com/p/android/issues/detail?id=38282
我通过在 writer.close 之后添加以下行解决了这个问题:
MediaScannerConnection.scanFile(上下文, new String[] { file.getAbsolutePath() }, null, null);
代码如下:
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(上下文, new String[] { file.getAbsolutePath() }, null, null);
我觉得你写的内容还在内存里,没有同步到磁盘。
有时文件系统会等待更多内容一起刷新到磁盘。
原来这个问题是 Android 的一个已知错误:https://code.google.com/p/android/issues/detail?id=38282
我通过在 writer.close 之后添加以下行解决了这个问题:
MediaScannerConnection.scanFile(上下文, new String[] { file.getAbsolutePath() }, null, null);