【Java】IO流--文件字符流--FileReader、FileWriter

FileReader

作用:用于读取字符流

构造方法:

FileReader(File file)

创建一个新的 FileReader ,给出 File读取。
FileReader(String fileName)
创建一个新的 FileReader ,给定要读取的文件的名称。

常用方法:

1)int read();
2)int read(char[] cbuf)
3)int read(char[] cbuf,int off,int len);
4) int available();
5)close();

代码

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

public class TestFileReader {
    public static void main(String[] args) throws IOException {
        FileReader reader=null;
        //(1)搭桥
        reader=new FileReader("F://test.txt");
        
        //(2)读取
//        int b=reader.read();//读取到的字符的int类型数据
//        System.out.print((char)b);
        
//        int b=0;//用于存储每次读到的字符数据的整数值
//        while((b=reader.read())!=-1) {
//            System.out.print((char)b);
//        }
        
        int len=0;//储存读到的字符的个数数
        char[] cbuf=new char[1024];
        
        while((len=reader.read(cbuf))!=-1) {
            System.out.print(new String(cbuf, 0, len));
        }
        
        //(3)关闭
        reader.close();
    }
}

FileWriter

作用:用于写入字符流

构造方法:

FileWriter(File file)

给一个File对象构造一个FileWriter对象。给出一个带有布尔值的文件名,表示是否附加写入的数据。

FileWriter(File file, boolean append)

给一个File对象构造一个FileWriter对象

FileWriter(String fileName)

构造一个给定文件名的FileWriter对象。

FileWriter(String fileName, boolean append)

构造一个FileWriter对象,给出一个带有布尔值的文件名,表示是否附加写入的数据。

常用方法:

1)void write(int c);
2)void write(char[] cbuf);
3)abstract void write(char[] cbuf,int off,int len);
4)void write(String str);
5)abstract void flush();
6)void close();

代码

import java.io.FileWriter;
import java.io.IOException;

public class TestFileWriter {
    public static void main(String[] args) {
        //创建对象
        FileWriter writer=null;
        try {
            writer=new FileWriter("F://dest.txt");
            //写数据
            writer.write("Hello World!");//数据写到了缓冲区
            writer.flush();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }finally {
            try {
                if(writer!=null) {
                    //关闭
                    writer.close();
                }
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
        
    }
}

猜你喜欢

转载自www.cnblogs.com/syxy/p/12267498.html