package com.hfxt;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Reader;
import java.io.Writer;
//用带缓冲区的字符流读写(复制)文件内容
//1.读取pet.template文件内容 2.将文件内容替换 3.把文件内容复制到指定文件内
public class Test1 {
public static void main(String[] args) {
FileInputStream fis = null;
Reader rd = null;
BufferedReader br = null;
Writer fw = null;
BufferedWriter bw = null;
try {
// 读取文件内容
// 获取文件路径
fis = new FileInputStream("F:/fangchen/pet.template");
// 指定字符编码
rd = new InputStreamReader(fis, "UTF-8");
br = new BufferedReader(rd);
StringBuffer sbf = new StringBuffer();
String line = null;
while ((line = br.readLine()) != null) {
sbf.append(line);
}
//替换文件内容
System.out.println("替换前:"+sbf);
String str = sbf.toString().replace("{name}","点点").replace("{type}","萨摩耶").replace("{master}","方琛");
System.out.println("替换后:"+str);
//复制文件内容
fw = new FileWriter("F:/fangchen/test.txt",true);
//包装成带缓冲区的文件
bw = new BufferedWriter(fw);
//换行
bw.newLine();
bw.write(str);
System.out.println("文件复制成功!");
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
try {
bw.close();
fw.close();
br.close();
rd.close();
fis.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
将文件内容先替换后复制
最新推荐文章于 2022-07-01 18:16:17 发布