BufferedWriter写文件的时候,比原文件数据少,怎么去掉剩余的垃圾数据
TXT文件中原数据:
C210113X331
C210113X371己扫码
C210113X450
运行后数据:
C210113X331
C210113X371
C210113X450
0113X450
查看了运行过程,发现是把“己扫码后”写原数据的时候是覆盖的,但是新数据不能完全覆盖原数据,就还剩余了后面那部分数据“0113X450”。
代码如下:
private void again(Uri uri,List<String> list) {
//File file = new File(mFilePath);
if(uri!=null&&list!=null) {
try {
AssetFileDescriptor newassetFileDescriptor = this.getContentResolver().openAssetFileDescriptor(uri, "w");
FileOutputStream outputStream = newassetFileDescriptor.createOutputStream();
OutputStreamWriter outputStreamWriter = new OutputStreamWriter(outputStream);
BufferedWriter bufferedWriter = new BufferedWriter(outputStreamWriter);
for(String s : list) {
if(s!=null) {
bufferedWriter.write(s);
bufferedWriter.newLine();
bufferedWriter.flush();
}
}
bufferedWriter.close();
} catch (Exception e) {
e.printStackTrace();
}
}else {
Toast.makeText(check.this, "文件不存在", Toast.LENGTH_LONG).show();
}
}
要怎么解决呢?