Writer类与Reader类是以字符流传输数据,一个字符是两个字节
字符流除了是以字符方式(两个字节)传输数据外,另外一点与字节流不同的是字符流使用缓冲区,通过缓冲区再对文件进行操作。字节流字节对文件进行操作。使用字符流类时关闭字符流会强制将字符流缓冲区的类容输出,如果不想关闭也将字符流进行输出,使用Writer类的flush()方法。
Reader读取数据:
try {
Reader reader = new FileReader(
"D:\\cmz\\java\\JavaOOP6.0\\pet.template");
char ch[] = new char[45];
StringBuffer buffer = new StringBuffer();
try {
int length = reader.read(ch);
while (length != -1) {
buffer.append(ch);
length = reader.read();
}
String str = " 您好!我的名字是{name},我是一只{type}.我的主人是{master}";
System.out.println("替换前:" + str);
str = str.replace("{name}", "欧欧");
str = str.replace("{type}", "狗狗");
str = str.replace("{master}", "程沐喆");
System.out.println("替换后:" + str);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
try {
reader.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
使用writer操作数据:
String str = "您好!我的名字是欧欧,我是一只狗狗.我的主人是李伟";
try {
FileWriter file = new FileWriter("D:\\cmz\\java\\JavaOOP6.0\\pet.template");
file.write(str);
if (null!=file) {
file.close();
System.out.println("写入成功");
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
原文地址:http://blog.51cto.com/13758648/2301444
时间: 2024-10-05 11:32:45