实际上字节流在操作时本身不会用到缓冲区(内存),是文件本身直接操作的,而字符流在操作时使用了缓冲区,通过缓冲区再操作文件,如图12-6所示。
/**
* 字符流 使用输入流读取一个文件内容到cpu中,然后使用输出流将内容写出到指定位置的外部文件中。 (使用输入输出流进行了文件的复制
*/
@Test
void test02() {
try {
Reader isr = new FileReader("m:\\emp.txt");
Writer osw = new FileWriter("m:\\emp\\emp001.txt", true);
char[] b = new char[1024];
int len = isr.read(b);
while(len!=-1) {
//打印到控制台
System.out.println(new String(b));//字符无需指定编码格式
osw.write(b, 0, len);
len = isr.read();
}
osw.flush();
if(isr!=null) {
isr.close();
}
osw.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
&nb