IO分类
程序员文章站
2024-03-07 08:19:02
...
IO流
1 流的地位.
没有IO流的编程语言不能进行人机交互,失去存在的价值。
2 流的概念和作用.
流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。
即数据在两设备间的传输称为流,流的本质是数据传输。
3 IO流的分类
3.1 处理数据类型的不同分类
分类为:字符流和字节流。
字符流父类(抽象类):Reader Writer
字符流子类:FileReader FileWriter
字节流父类(抽象类):InputStream OutputStream
字节流子类:FileInputStream FileOutputStream
3.2 数据流向不同分类
分类为:输入流和输出流。
输入流:InputStream(抽象类) FileInputStream Reader(抽象类) FileReader
输出流:OutputStream(抽象类) FileOutputStream Writer(抽象类) FileWriter
3.3 功能分类
分类为:节点流和处理流。(节点流:想象成整个管道的头部,和结尾部位)
处理流和节点流的区分方法:节点流在新建时需要一个数据源(文件、网络)作为参数,而处理流需要一个节点流作为参数。
下面演示基本文件读取操作
package edu.swpu.peng.io;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class FileInOut {
public static void main(String[] args) {
/*
* IO基本操作:复制文件
*/
// 1.首先明确方向,输入。数据源:文件。目的地:java程序。从而确定输入流
BufferedReader bufr = null;
BufferedWriter bufw = null;
try {
bufr = new BufferedReader(new FileReader("IO.txt"));
bufw = new BufferedWriter(new FileWriter("src/IO.txt"));
//3.开始读数据,读到String中
String buf = null;
//4.读一次,写一次。
while((buf = bufr.readLine()) != null) {
bufw.write(buf);
bufw.flush();
bufw.newLine();
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
// 2.不关流会罚款通价:30元/次
if(bufr != null) {
try {
bufr.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(bufw != null) {
try {
bufw.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
推荐阅读
-
Java IO 2-字节流与字符流
-
Java常用IO流
-
JAVA——常用IO流类
-
IO-------转换流
-
java IO缓冲流: BufferedInputStream BufferedOutputStream
-
IO分类
-
IO_处理流_字节缓冲流
-
Spring中使用HSQLDB测试ibatis的dao 博客分类: Spring DAOiBATISHSQLDBSpringCMS
-
如何实现双(多)语种网站内容的国际化? 博客分类: Work Related 数据结构CMS企业应用配置管理项目管理
-
毗连“"aa"”和“"bb"”不能给出一个有效的预处理标识符,gcc编译错误表 博客分类: 工作中问题c语言 gcc