IO分类:
A.字节流 //
// 构造方法
InputStream(输入流)
FileInputSream(File file);File表示相对路径或者绝对路径
OutputStream(输出流)
FileOutputSream
// 普通方法
// 方法体(这里不做详细讲解,因为发过Copy流的文章)
B.字符流
Reader
FileReader(File file)File表示相对路径或者绝对路径
Writer
FileWriter
C .转换流
Reader
InputSreamReader
FileReader
Writer
OutputSreamWriter
FileWriter
D.缓冲流
BufferedInputStream
BufferedOutputStream
BufferedReader 有自己的方法:读取一行数据(readLin)
BufferedWriter 有自己的方法:换行符(newLine)
IO工具类:这个呢 是接口工具类,觉得try在main测试类中觉得挺多又太繁琐、执行效率低下,可以合理进行优化工具类
后续会继续用代码展现出来,之前也是写过一次输入流和输出流案例,如果有兴趣的可以参参考学习
新的关流的方式:
/**
* 这是jdk8一种新的关流的方法,相对前面的关方式简化了好多
* 测试类
*/
try(
// try()中只能写创建流,不能执行业务块操作
FileReader fr = new FileReader("隐形的翅膀歌词.txt");
FileWriter fw = new FileWriter("隐形的翅膀歌词副本.txt");
){
// 声明一个int类型变量count;
int count;
// 创建char数组存放
char[] ch = new char[1024];
// while 循环 读取 = count计数次数 如果当count计数次数达到-1停止
while((count = fr.read(ch)) != -1){
// 写出
fw.write(ch, 0, count);
}
// 看看有没有打印陈宫
System.out.println("复制完成!!!");
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}