一。

package test2;

public class Pet {

private String name;
private String type;
private String master;

public Pet() {
}

public Pet(String name, String type, String master) {
super();
this.name = name;
this.type = type;
this.master = master;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String getType() {
return type;
}

public void setType(String type) {
this.type = type;
}

public String getMaster() {
return master;
}

public void setMaster(String master) {
this.master = master;
}

}


二。

package test2;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class TestBufferedReader {

public static void main(String[] args) {
try {
// 使用高级流操作文件(读取)
// 创建高级流时,需要使用低级流作为构造参数(流链接)
File file = new File("E:/简历.txt");
// 先创建低级流
FileReader fr = new FileReader(file);
// 再创建高级流
BufferedReader br = new BufferedReader(fr);
// 使用高级流对象的方法操作文件内容
StringBuffer sub = new StringBuffer();
String str;
while((str = br.readLine()) != null){
sub.append(str+"\r\n");
}
// 反序关闭
br.close();
fr.close();
String template = sub.toString();
System.out.println("读取到的模板如下:\n"+template);

// 创建一个宠物对象
Pet p = new Pet("大黄", "拉布拉多犬", "张三");
// 替换模板字符串中的占位符内容
String pStr = template.replace("{name}", p.getName())
.replace("{type}", p.getType())
.replace("{master}", p.getMaster());

// 使用BufferedWriter输出宠物信息
FileWriter fw = new FileWriter("D:"+File.separator+p.getName() + ".txt");
BufferedWriter bw = new BufferedWriter(fw);
bw.write(pStr);
bw.flush();
bw.close();
fw.close();
System.out.println("写出文件信息成功!");
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}



}

}


package test2;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

public class TestFileReader {

public static void main(String[] args) {
// 使用字符流读取文本文件
try {
// 创建文件对象
File file = new File("E:/简历.txt");
// 根据源文件对象构建字符读取流
FileReader fr = new FileReader(file);
// 创建追加存储读取内容的StringBuffer对象
StringBuffer sub = new StringBuffer();
// 定义char类型的容器数组
char[] c = new char[1024];
// 读取并返回读取长度(若没读到返回-1)
int length = fr.read(c);
// 循环判断读取
while(length != -1) {
sub.append(c); // 将本次读取内容追加到sub中
c = new char[1024]; // 重置读取容器
length = fr.read(c); // 读取下一次
}
fr.close(); // 关闭流
System.out.println(sub.toString().trim());
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}


// try {
// File file = new File("E:/简历.txt");
// FileReader fr = new FileReader(file);
// StringBuffer sub = new StringBuffer();
// int c = fr.read();
// while( c != -1) {
// sub.append((char)c);
// c = fr.read();
// }
// fr.close();
// System.out.println(sub.toString());
// } catch (FileNotFoundException e) {
// e.printStackTrace();
// } catch (IOException e) {
// e.printStackTrace();
// }

}

}