Java IO流之字符流
程序员文章站
2023-11-24 22:15:22
1.字符输出流 Writer(只能写入文本文件) 1.1FileWriter类(writer的子类) 构造方法: public class FileWriterDemo { 2.字符输入流Reader 构造方法 2.1FileReader 读取文件 3.文件复制: 上述代码实现将d盘下a.txt文件 ......
1.字符输出流 writer(只能写入文本文件)
1.1filewriter类(writer的子类)
构造方法:
public class filewriterdemo {
public static void main(string[] args) throws ioexception { //演示filewriter 用于操作文件的便捷类。 filewriter fw = new filewriter("d:\\text\\fw.txt"); fw.write("你好谢谢再见");//这些文字都要先编码。都写入到了流的缓冲区中。 fw.flush(); //如果不刷新,数据不会到达目的地
//写一个字符数组
char[] c = {'a','b','c','d','e'};
fw.write(c);
fw.flush();
//写数组一部分
fw.write(c,2,2);
fw.flush();
fw.close(); } }
//flush():将流中的缓冲区缓冲的数据刷新到目的地中,刷新后,流还可以继续使用。
//刷新内存,将内存中的数据立刻写出。
//在最后工作完成时调用close()也可以刷新内存
//flush() 与 close() 区别在于 close()会关闭流,flush()一般用于处理中时需要将数据立即写出。
2.字符输入流reader
构造方法
2.1filereader
读取文件
package habin.file; import java.io.filereader; import java.io.ioexception; public class filedemo { public static void main(string[] args) throws ioexception { filereader fr = new filereader("d:\\a.txt"); int len = 0; while((len=fr.read())!=-1){ system.out.print((char)len); } fr.close(); } }
3.文件复制:
package habin.file; import java.io.file; import java.io.filereader; import java.io.filewriter; import java.io.ioexception; public class filedemo { public static void main(string[] args) throws ioexception { file file1 = new file("d:\\a.txt"); file file2 = new file("f:\\b.txt"); filereader fr = new filereader(file1); filewriter fw = new filewriter(file2); char[] c = new char[2014]; int len = 0; while((len=fr.read(c))!=-1){ fw.write(c,0,len); fw.flush(); } fw.close(); fr.close(); } }
上述代码实现将d盘下a.txt文件中的数据复制到了f盘下的b.txt中