Reader
- 方法列表
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
- 构造方法
FileReader(File file) 创建一个新的 FileReader ,给出 File读取。
FileReader(FileDescriptor fd) 创建一个新的 FileReader ,给予 FileDescriptor从中读取。
FileReader(String fileName) 创建一个新的 FileReader ,给定要读取的文件的名称。
- 例子
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
- 构造方法
BufferedReader(Reader in) 创建使用默认大小的输入缓冲区的缓冲字符输入流。
BufferedReader(Reader in, int sz) 创建使用指定大小的输入缓冲区的缓冲字符输入流。
- 方法列表
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) 跳过字符
- 例子
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的作用是为其他字符输出流添加一些缓冲功能
- 构造方法
BufferedWriter(Writer out) 创建使用默认大小的输出缓冲区的缓冲字符输出流。
BufferedWriter(Writer out, int sz) 创建一个新的缓冲字符输出流,
使用给定大小的输出缓冲区。
- 方法列表
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) 写一个字符串的一部分。
- 例子
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。
- 构造方法
CharArrayWriter() 创建一个新的CharArrayWriter。
CharArrayWriter(int initialSize) 用指定的初始大小创建一个新的CharArrayWriter。
- 方法列表
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是字符类型的过滤输出流
- 构造方法
protected FilterWriter(Writer out) 创建一个新的过滤的作者。
- 方法列表
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
- 构造方法
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,而不需要自动线路刷新。
- 方法列表
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) 写一个字符串的一部分。