我有一个像#34; HelloWorld!9090Hello"在一个文件中,我想用一个新的替换整个字符串,试过这个但没有帮助
示例文件abc.txt:
α=的HelloWorld!9090Hello
String neww = "abcdef";
File file = new File("abc.txt");
File wr = new File("tmp.txt");
BufferedReader br = new BufferedReader(new FileReader(file));
String line;
while ((line = br.readLine()) != null) {
// tried even line.toString();//
String rline= line.replace("HelloWorld!9090Hello", neww);
BufferWrite(rline,wr);
}
br.close();
public static void BufferWrite(String St,File file) throws IOException{
FileWriter fw = new FileWriter(file.getAbsoluteFile(),true);
BufferedWriter bw = new BufferedWriter(fw);
bw.write(St);
bw.write("\r\n");
bw.close();
}
BufferWrite()将文本写入tmp.txt文件..
结果:
α=的HelloWorld!9090Hello
答案 0 :(得分:-1)
我在Eclipse中运行了你的确切代码,它为我正确地创建了tmp文件,它有" abcdef"在它。
你有没有确定你真正开始" HelloWorld!9090Hello"在你的输入文件?看起来你开始的时候是" a = HelloWorld!9090Hello",而不是" HelloWorld!9090Hello"。替换功能仅在字符串完全匹配时才起作用。如果您从" a = HelloWorld!9090Hello"开始,请将替换功能更改为以下内容:
String rline= line.replace("a=HelloWorld!9090Hello", neww);