如何替换对于字符串来说太大的文件中的文本?我一直在使用以下内容来替换我见过的大多数文件中的文本:
File f = new File("test.xml");
String content = FileUtils.readFileToString(f, "UTF-8");
content = content.replaceFirst("some text", "new text");
FileUtils.writeStringToFile(f, content, "UTF-8");
这适用于正常大小的文件。但是,我得到的一些文件非常大(太大而无法存储在字符串中)并且它们会导致溢出。如何替换这些文件中的文本?
最佳答案
try {
File f=new File("test.xml");
BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(f)));
String content=null;
while((content=reader.readLine())!=null)
{
content = content.replaceFirst("some text", "new text");
System.out.println(content);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
关于java - 如何替换对于字符串来说太大的文件中的文本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40241704/