字节缓冲流
方法名 | 说明 |
---|
BufferedOutputStream(OutputStream out) | 创建字节缓冲输出流对象 |
BufferedInputStream(InputStream in) | 创建字节缓冲输入流对象 |
字符流
字符流写数据的5种方式【应用】
方法名 | 说明 |
---|
void write(int c) | 写一个字符 |
void write(char[] cbuf) | 写入一个字符数组 |
void write(char[] cbuf, int off, int len) | 写入字符数组的一部分 |
void write(String str) | 写一个字符串 |
void write(String str, int off, int len) | 写一个字符串的一部分 |
刷新和关闭的方法
方法名 | 说明 |
---|
flush() | 刷新流,之后还可以继续写数据 |
close() | 关闭流,释放资源,但是在关闭之前会先刷新流。一旦关闭,就不能再写数据 |
字符流中的编码解码问题【应用】
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/485d27d92ddeb8baea729a106c6a6a15.png#pic_center)
FileReader
FileWriter
字符流读数据的2种方式【应用】
方法名 | 说明 |
---|
int read() | 一次读一个字符数据 |
int read(char[] cbuf) | 一次读一个字符数组数据 |
字符缓冲流
方法名 | 说明 |
---|
BufferedWriter(Writer out) | 创建字符缓冲输出流对象 |
BufferedReader(Reader in) | 创建字符缓冲输入流对象 |
字符缓冲流特有功能【应用】
BufferedWriter:
方法名 | 说明 |
---|
void newLine() | 写一行行分隔符,行分隔符字符串由系统属性定义 |
BufferedReader:
方法名 | 说明 |
---|
String readLine() | 读一行文字。 结果包含行的内容的字符串,不包括任何行终止字符如果流的结尾已经到达,则为null |
IO小结
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/d8a9f44e09b7351dcca17ba43a781915.png#pic_center)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/340366883ea58246eb922d5b3ef2c67e.png#pic_center)
案例
1.文件到集合
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
public class ArrayListDemo {
public static void main(String[] args) throws IOException {
BufferedReader br=new BufferedReader(new FileReader("C:\\Users\\Liu Zhipeng\\Desktop\\思途\\java.txt"));
ArrayList<String> list=new ArrayList<String>();
String line;
while((line=br.readLine())!=null)
{
list.add(line);
}
br.close();
for (String ss:list)
{
System.out.println(ss);
}
}
}
2.集合到文件
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
public class ArrayListDemo2 {
public static void main(String[] args) throws IOException {
ArrayList<String> list=new ArrayList<String>();
BufferedWriter bw=new BufferedWriter(new FileWriter("C:\\Users\\Liu Zhipeng\\Desktop\\思途\\java.txt"));
list.add("java");
list.add("so");
list.add("easy");
for (String ss:list)
{
bw.write(ss);
bw.newLine();
bw.flush();
}
bw.close();
}
}