一、需求
a) 文件template.txt内容:
“大家好,我叫name,我养了一只狗,它叫dog,dog很可爱。
我喜欢和dog一起游泳,一起散步。
name欢迎大家来家里作客,也期待你们和我的dog一起玩耍。”
b) 从控制台输入人的名字,将文件中的name换成你输入的人名字;从控制台输入狗狗的名字,将文件中的dog换成你输入的狗狗名字;将修改后的字符串写入到文件中(文件的名字是人的名字)
二、代码
public classUpdataTemplate {
public static void main(String[] args) {
Scannersc= newScanner(System.in);
//读文件,将文件中的数据存放到一个字符串中
BufferedReaderbr = null;
BufferedWriterbw = null;
try {
//定义一个字符串用于接收读取的数据
StringBuffersb = new StringBuffer();
//获得输入流对象,可以读取文件
br = new BufferedReader(new FileReader("d:/template.txt"));
Stringline;
//循环逐行读取数据
while(null != (line = br.readLine())){
sb.append(line + "\n");
}
System.out.println(sb);
System.out.println("请输入您的姓名:");
Stringname = sc.next();
System.out.println("请输入您家狗狗的名字:");
StringdogName = sc.next();
Strings = sb.toString();
s = s.replaceAll("name", name).replaceAll("dog", dogName);
System.out.println(s);
//创建一个输出流对象
bw = new BufferedWriter(new FileWriter("d:/"+name+".txt"));
bw.write(s);
bw.flush();
}catch(Exception e) {
e.printStackTrace();
}finally{
try {
if(null != br){
br.close();
}
if(null != bw){
bw.close();
}
}catch(IOException e) {
e.printStackTrace();
}
}
}
}
三、执行结果
大家好,我叫name,我养了一只狗,它叫dog,dog很可爱。
我喜欢和dog一起游泳,一起散步。
name欢迎大家来家里作客,也期待你们和我的dog一起玩耍。
请输入您的姓名:
blair
请输入您家狗狗的名字:
petty
大家好,我叫blair,我养了一只狗,它叫petty,petty很可爱。
我喜欢和petty一起游泳,一起散步。
blair欢迎大家来家里作客,也期待你们和我的petty一起玩耍。