Java IO流之字符流

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中

猜你喜欢

转载自www.cnblogs.com/black-mcy/p/10071681.html
今日推荐