0
在我的下面的代码中,我想用“Demographics”替换文本“DEMO”,但不是替换文本,而是删除文本文件的全部内容。代码删除文件的内容而不是替换文本
目录里面的文件: DEMO 数据 上午
PS:我是在Java初学者
package com.replace.main;
import java.io.*;
public class FileEdit {
public static void main(String[] args) {
BufferedReader br = null;
BufferedWriter bw = null;
String readLine, replacedData;
try {
bw = new BufferedWriter(
new FileWriter(
"Demg.ctl"));
br = new BufferedReader(
new FileReader(
"Demg.ctl"));
System.out.println(br.readLine()); //I Get Null Printed Here
while ((readLine = br.readLine())!= null) {
System.out.println("Inside While Loop");
System.out.println(readLine);
if (readLine.equals("DEMO")) {
System.out.println("Inside if loop");
replacedData = readLine.replaceAll("DEMO","Demographics");
}
}
System.out.println("After While");
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
谢谢。但是,如何打开Writer来替换文件的内容?我需要从我的代码中删除FileWriter吗? – balajiv
'在您的代码中创建新的FileWriter(“Demg.ctl”)'创建此作者。你可以写入你的变量'bw'。 –
如果替换文本的长度与原始文本长度不同,则无法仅仅“替换”文件中的某些文本。您必须将整个文件复制到输出中,在复制时执行替换,然后删除原始文件并将输出重命名为旧名称。 –