JavaI/O 学习笔记之一:字符流操作

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lsf921016/article/details/61599940

Reader,Writer大类

Abstract class for reading character streams. The only methods that a
subclass must implement are read(char[], int, int) and close().

1.将字符串写入文件:

用FileReader

//创建字符输出对象
FileWriter fw = new FileWriter("E:\\javaStudy\\src\\javaIO\\aFile");
        fw.write("abcd");//调用filewriter对象的writer方法,将字符串写入流中
        fw.flush();//进行刷新,将数据写入目的地
        fw.close();//关闭资源

2.读取一个文本文件,将读取到的字符打印到控制台

用FileWriter:

    //读取一个文本文件,将读取到的字符打印到控制台
        FileReader fr = new FileReader("E:\\javaStudy\\src\\javaIO\\aFile");

        //一次读一个字符,read(char ch)返回字符的数值
        int ch = fr.read();
        if (ch != -1) {
            System.out.println((char) ch);
        }
//        fr.close();

        //利用FileWriter的read(char[])重载,一次读入一个字符数组,即缓冲
        char[] buf=new char[1024];
        int num=fr.read(buf);//将读取到的字符存储至数组。返回读取到的字符个数
        System.out.println("读取到"+num+"个字符:"+new String(buf));

3.使用BufferedReader/BufferedWriter读写字符

//BufferedWriter:
        //创建一个写入缓冲区,并和指定被缓冲的流对象相关联
        FileWriter fw=new FileWriter("E:\\javaStudy\\src\\javaIO\\aFile");
        BufferedWriter bufw=new BufferedWriter(fw);
        //使用缓冲区方法将数据写入缓冲区
        bufw.write("buffered hello");
        //换行
        bufw.newLine();
        //使用缓冲区的刷新方法将数据刷新到目的地中
        bufw.flush();
        //关闭缓冲区的同时就关闭的inputStream
        bufw.close();
    //BufferedReader:
        FileReader fr=new FileReader("E:\\javaStudy\\src\\javaIO\\when you are old");
        BufferedReader bufr=new BufferedReader(fr);
        String line=null;
        while((line=bufr.readLine())!=null){
            System.out.println(line);
        }
        bufr.close();

4.一个小demo,用bufferedreader/bufferedwriter拷贝一个文本文件:

public class FileCopyByBuffered {
    public static void main(String[] args) throws IOException {
        BufferedReader bufr=new BufferedReader(new FileReader("E:\\javaStudy\\src\\javaIO\\when you are old"));
        BufferedWriter bufw=new BufferedWriter(new FileWriter("E:\\javaStudy\\src\\javaIO\\when you are old_Copy"));
        String line=null;
        while((line=bufr.readLine())!=null){
            bufw.write(line);
            bufw.newLine();
            bufw.flush();
        }
        bufr.close();
        bufw.close();


    }
}

猜你喜欢

转载自blog.csdn.net/lsf921016/article/details/61599940