我试图在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
由于
答案 0 :(得分:2)
你忘了关闭作家吗?我自己犯了这个错误。完成后,请务必关闭读者和作者。它释放了资源,在作者的情况下,确保完成写作!