重温java知识(三十八、I/O编程之三:字节流与字符流之Reader字符输入流)

Reader是实现字符输入流的操作类,可以实现char数据类型的读取。该类的定义如下:

public abstract class Reader
    extends Object
    implements Readable, Closeable{}
    			【实现缓冲区的数据读取】,【关闭】

Reader是抽象类,通过文件读取数据可以使用FileReader子类进行实例化。

1、使用FileReader实现数据读取内容的例子:

package com.mydemo;

import java.io.File;
import java.io.FileReader;
import java.io.Reader;

public class FileIODemo {

    public static void main(String[] args) {

        File file = new File("e:" + File.separator + "test" + File.separator + "text.txt");

        // 判断文件是否存在
        if (file.exists()) {
            try {
                // 实例化输入流
                Reader reader = new FileReader(file);

                /**
                 * Reader类没有提供可以直接返回字符串的读取方法,
                 * 所以只能利用字符数组的方式进行数据读取操作【即:缓冲区】
                 */
                char data[] = new char[1024];

                // 跨过8个字符长度
//                reader.skip(8);

                // 读取数据
                int readDataLen = reader.read(data);

                // 字符2字符串
                String str = new String(data, 0, readDataLen);

                // 关闭输入流
                reader.close();

                // 输出读取的内容
                System.out.println(str);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }

    }
}

你可能感兴趣的:(Java)