Java IO流

Reader

  1. 方法列表
abstract void close​() 关闭流并释放与之相关联的任何系统资源。 
void mark​(int readAheadLimit) 标记流中的当前位置。 
boolean markSupported​() 告诉这个流是否支持mark()操作。 
int read​() 读一个字符 
int read​(char[] cbuf) 将字符读入数组。 
abstract int read​(char[] cbuf, int off, int len) 将字符读入数组的一部分。 
int read​(CharBuffer target) 尝试将字符读入指定的字符缓冲区。 
boolean ready​() 告诉这个流是否准备好被读取。 
void reset​() 重置流。 
long skip​(long n) 跳过字符 

FileReader

  1. 构造方法
FileReader​(File file) 创建一个新的 FileReader ,给出 File读取。 
FileReader​(FileDescriptor fd) 创建一个新的 FileReader ,给予 FileDescriptor从中读取。 
FileReader​(String fileName) 创建一个新的 FileReader ,给定要读取的文件的名称。 
  1. 例子
        FileReader fileReader = new FileReader("demo.txt");
//        fileReader.read();//一次读取一个字符
        int chen = -1;
        while ((chen = fileReader.read()) != -1){
            System.out.print((char)chen);
        }

        fileReader.close();
        FileReader fileReader = new FileReader("demo.txt");
        int num ;
        char[] chen = new char[1024];
        while ((num = fileReader.read(chen)) != -1){
            //num返回的是读取到的字符数
            System.out.print(new String(chen,0,num));
        }

        fileReader.close();

BufferedReader

  1. 构造方法
BufferedReader​(Reader in) 创建使用默认大小的输入缓冲区的缓冲字符输入流。 
BufferedReader​(Reader in, int sz) 创建使用指定大小的输入缓冲区的缓冲字符输入流。
  1. 方法列表
void close​() 关闭流并释放与之相关联的任何系统资源。 
Stream<String> lines​() 返回一个 Stream ,其元素是从这个 BufferedReader读取的行。 
void mark​(int readAheadLimit) 标记流中的当前位置。 
boolean markSupported​() 告诉这个流是否支持mark()操作。 
int read​() 读一个字符 
int read​(char[] cbuf, int off, int len) 将字符读入数组的一部分。 
String readLine​() 读一行文字。 
boolean ready​() 告诉这个流是否准备好被读取。 
void reset​() 将流重置为最近的标记。 
long skip​(long n) 跳过字符 
  1. 例子
FileReader fileReader = new FileReader("demo.txt");
BufferedReader bufferedReader = new BufferedReader(fileReader);
String line = null;
while ((line = bufferedReader.readLine()) != null) {
    System.out.println(line);
}

bufferedReader.close();

CharArrayReader

InputStreamReader

Writer

FileWriter

节点流丨写入指定文件。
例1:创建一个文件demo.txt,然后向里面写入字符串abcde

java
FileWriter fileWriter = new FileWriter("demo.txt");
fileWriter.write("晨晨!!!");

while (fileWriter != null){
    String str = sc.nextLine();
    if (str.equals("close")){
        fileWriter.close();
        fileWriter = null;
    }else{
        fileWriter.write(str+"\n");
        fileWriter.flush();
    }
}

BufferedWriter

处理流 丨BufferedWriter的作用是为其他字符输出流添加一些缓冲功能

  1. 构造方法
BufferedWriter​(Writer out) 创建使用默认大小的输出缓冲区的缓冲字符输出流。 
BufferedWriter​(Writer out, int sz) 创建一个新的缓冲字符输出流,
    使用给定大小的输出缓冲区。
  1. 方法列表
void close​() 关闭流,先刷新。 
void flush​() 刷新流。 
void newLine​() 写一行行分隔符。 
void write​(char[] cbuf, int off, int len) 写入字符数组的一部分。 
void write​(int c) 写一个字符 
void write​(String s, int off, int len) 写一个字符串的一部分。 
  1. 例子
FileWriter fileWriter = new FileWriter("demo.txt", true);
BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);
char[] chars = {'狗','晨','晨','!'};
bufferedWriter.write(chars,0,3);
bufferedWriter.newLine();
bufferedWriter.write("嘿");
bufferedWriter.flush();
bufferedWriter.close();

CharArrayWriter

节点流丨CharArrayReader 用于写入字符,它继承于Writer。

  1. 构造方法
CharArrayWriter​() 创建一个新的CharArrayWriter。 
CharArrayWriter​(int initialSize) 用指定的初始大小创建一个新的CharArrayWriter。
  1. 方法列表
CharArrayWriter append​(char c) 将指定的字符附加到此作者。 
CharArrayWriter append​(CharSequence csq) 将指定的字符序列附加到此作者。 
CharArrayWriter append​(CharSequence csq, int start, int end) 将指定字符序列的子序列附加到此作者。 
void close​() 关闭流。 
void flush​() 冲洗流。 
void reset​() 重置缓冲区,以便您可以再次使用它,而不会丢弃已经分配的缓冲区。 
int size​() 返回缓冲区的当前大小。 
char[] toCharArray​() 返回输入数据的副本。 
String toString​() 将输入数据转换为字符串。 
void write​(char[] c, int off, int len) 将字符写入缓冲区。 
void write​(int c) 将一个字符写入缓冲区。 
void write​(String str, int off, int len) 将一部分字符串写入缓冲区。 
void writeTo​(Writer out) 将缓冲区的内容写入另一个字符流。 

FilterWriter

处理流丨FilterWriter是字符类型的过滤输出流

  1. 构造方法
protected  FilterWriter​(Writer out) 创建一个新的过滤的作者。 
  1. 方法列表
void close​() 关闭流,先刷新。 
void flush​() 刷新流。 
void write​(char[] cbuf, int off, int len) 写入字符数组的一部分。 
void write​(int c) 写一个字符 
void write​(String str, int off, int len) 写一个字符串的一部分。

PrintWriter

  1. 构造方法
PrintWriter​(File file) 使用指定的文件创建一个新的PrintWriter,而不需要自动的线路刷新。 
PrintWriter​(File file, String csn) 使用指定的文件和字符集创建一个新的PrintWriter,而不需要自动进行线条刷新。 
PrintWriter​(OutputStream out) 从现有的OutputStream创建一个新的PrintWriter,而不需要自动线路刷新。 
PrintWriter​(OutputStream out, boolean autoFlush) 从现有的OutputStream创建一个新的PrintWriter。 
PrintWriter​(Writer out) 创建一个新的PrintWriter,没有自动线冲洗。 
PrintWriter​(Writer out, boolean autoFlush) 创建一个新的PrintWriter。 
PrintWriter​(String fileName) 使用指定的文件名创建一个新的PrintWriter,而不需要自动执行行刷新。 
PrintWriter​(String fileName, String csn) 使用指定的文件名和字符集创建一个新的PrintWriter,而不需要自动线路刷新。 
  1. 方法列表
PrintWriter append​(char c) 将指定的字符附加到此作者。 
PrintWriter append​(CharSequence csq) 将指定的字符序列附加到此作者。 
PrintWriter append​(CharSequence csq, int start, int end) 将指定字符序列的子序列附加到此作者。 
boolean checkError​() 如果流未关闭,请刷新流并检查其错误状态。 
protected void clearError​() 清除此流的错误状态。 
void close​() 关闭流并释放与之相关联的任何系统资源。 
void flush​() 刷新流。 
PrintWriter format​(String format, Object... args) 使用指定的格式字符串和参数将格式化的字符串写入此写入程序。 
PrintWriter format​(Locale l, String format, Object... args) 使用指定的格式字符串和参数将格式化的字符串写入此写入程序。 
void print​(boolean b) 打印布尔值。 
void print​(char c) 打印一个字符 
void print​(char[] s) 打印字符数组。 
void print​(double d) 打印双精度浮点数。 
void print​(float f) 打印浮点数。 
void print​(int i) 打印一个整数。 
void print​(long l) 打印一个长整数。 
void print​(Object obj) 打印一个对象。 
void print​(String s) 打印字符串。 
PrintWriter printf​(String format, Object... args) 使用指定的格式字符串和参数将格式化的字符串写入该writer的方便方法。 
PrintWriter printf​(Locale l, String format, Object... args) 使用指定的格式字符串和参数将格式化的字符串写入该writer的方便方法。 
void println​() 通过写入行分隔符字符串来终止当前行。 
void println​(boolean x) 打印一个布尔值,然后终止该行。 
void println​(char x) 打印一个字符,然后终止该行。 
void println​(char[] x) 打印字符数组,然后终止行。 
void println​(double x) 打印双精度浮点数,然后终止行。 
void println​(float x) 打印一个浮点数,然后终止该行。 
void println​(int x) 打印一个整数,然后终止该行。 
void println​(long x) 打印一个长整型,然后终止行。 
void println​(Object x) 打印一个对象,然后终止该行。 
void println​(String x) 打印一个字符串,然后终止行。 
protected void setError​() 表示发生错误。 
void write​(char[] buf) 写入一个字符数组。 
void write​(char[] buf, int off, int len) 写一个字符数组的一部分。 
void write​(int c) 写一个字符 
void write​(String s) 写一个字符串 
void write​(String s, int off, int len) 写一个字符串的一部分。 

InputStream

OutputStream

原文地址:https://www.cnblogs.com/charlottepl/p/15642771.html