文件未完全写入

时间:2014-07-04 15:02:25

标签: java android

我试图在Nexus 5上读取系统文件并将其重写为第二个文件,我会做一些修改。问题是即使没有我的修改,文件也没有完全写入。 Il几乎到了最后,然后停止在同一个地方写作。第450行停止,只有在<path name写入时才会写<path name="voice-tty-full-headphones">并再继续30行......

奇怪的是,如果我导出到textview,那么一切都在那里,所以问题不是在读取文件时,而是在写入新文件时。我附上了我正在使用的文件的副本以及正在生成的文件的副本。我真的不知道从这里尝试什么。

//Output File
File outputFile = new File(Environment.getExternalStorageDirectory().getPath(), "/xxx/mixer_paths.xml");
outputFile.createNewFile();
FileOutputStream fOut = new FileOutputStream(outputFile);
OutputStreamWriter myOutWriter =new OutputStreamWriter(fOut);

//Input File
File internalStorage = Environment.getRootDirectory();
File inputFile = new File(internalStorage,"/etc/mixer_paths.xml");
BufferedReader br = new BufferedReader(new FileReader(inputFile));

StringBuilder text = new StringBuilder();
String line;


while ((line = br.readLine()) != null )
{
    text.append(line+"\n");
}

    myOutWriter.append(text);
    textView.setText(text);

https://www.dropbox.com/s/7p1cgu7ziyzydh1/mixer_paths_original.xml https://www.dropbox.com/s/zs03xt4k52vetek/mixer_paths_new.xml

由于

1 个答案:

答案 0 :(得分:2)

你忘了关闭作家吗?我自己犯了这个错误。完成后,请务必关闭读者和作者。它释放了资源,在作者的情况下,确保完成写作!