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();
}
}
要怎么解決呢?
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/273916.html
標籤:Java SE
