JAVA中的IO流是用来处理设备之间的数据传输的IO流的接口都存放在java.io包下,它的主要分类如下
一、流的分类
1、流的分类主要是根据流向的不同可以分为分为输入流、输出流
2、根据处理数据的单位分为字节流与字符流
3、按照角色的不同可以分为节点流和处理流
二、IO体系
抽象基类:抽象基类本身是没有方法能够去调用的,需要通过它的子类去调用方法,IO体系中一共有四个抽象基类,分别为:InputStream、OutputStream、Reader、Writer。不同的流都是从这些抽象基类继承过来的,如下
1、节点流(也叫做文件流)
节点流主要包括以下四个
①FileInputStream
FileInputStream中有几个方法,主要是int read()与byte[] read(byte[] b)前者表示一次读取一个数据并返回,后者表示一次读取n个字节(具体定义多少由byte[]决定),并返回byte型数组存放的元素个数,具体实现如下
//一、FileInputStreamd的使用之int read(int b)方法
public
void
test()
throws
IOException{
File
file
=
new
File(
"Hello.txt"
);
//创建File类对象
FileInputStream
fil
=
new
FileInputStream(
file
);
//创建一个FileInputStream类对象将需要操作的File类作为形参传入进去
int
b
=
fil
.read();
//调用FileInpotStream中的方法去读取文件中的一个字节,若读取到文件的末尾了,则会返回-1
while
(
b
!= -1)
{
System.
out
.println((
char
)
b
);
b
=
fil
.read();
}
fil
.close();//关闭流
}
//利用read(byte[] b)方法对文件进行读取
@Test
public
void
test3(){
FileInputStream
fil
=
null
;
try
{
File
file
=
new