首页  >  文章  >  Java  >  java中什么是io流

java中什么是io流

angryTom
angryTom原创
2019-11-13 13:19:133296浏览

java中什么是io流

java中什么是io流

流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流。

java IO流主要是用作数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作。 (推荐教程:java教程

Java I/O主要包括如下几个层次,包含三个部分:

1.流式部分-IO的主体部分;

2.非流式部分-主要包含一些辅助流式部分的类,如:File类、RandomAccessFile类和FileDescriptor等类;

3.其他类-文件读取部分的与安全相关的类,如:SerializablePermission类,以及与本地操作系统相关的文件系统的类,如:FileSystem类和Win32FileSystem类和WinNTFileSystem类。

主要的类如下:

1. File(文件特征与管理):用于文件或者目录的描述信息,例如生成新目录,修改文件名,删除文件,判断文件所在路径等。

2. InputStream(二进制格式操作):抽象类,基于字节的输入操作,是所有输入流的父类。定义了所有输入流都具有的共同特征。

3. OutputStream(二进制格式操作):抽象类。基于字节的输出操作。是所有输出流的父类。定义了所有输出流都具有的共同特征。

4.Reader(文件格式操作):抽象类,基于字符的输入操作。

5. Writer(文件格式操作):抽象类,基于字符的输出操作。

6. RandomAccessFile(随机文件操作):一个独立的类,直接继承至Object.它的功能丰富,可以从文件的任意位置进行存取(输入输出)操作。

IO流的分类:

a) 根据处理数据类型的不同分为:字符流和字节流;

b) 根据数据流向不同分为:输入流和输出流。

c) 按数据来源(去向)分类:

1、File(文件): FileInputStream, FileOutputStream, FileReader, FileWriter 

2、byte[]:ByteArrayInputStream, ByteArrayOutputStream 

3、Char[]: CharArrayReader,CharArrayWriter 

4、String:StringBufferInputStream, StringReader, StringWriter 

5、网络数据流:InputStream,OutputStream, Reader, Writer 

打个比方

比如你家的水龙头的管道就是一个流:流又分为输入输出流,输入流就是你家水龙头抽水库水的那头(FileInputStream:将水抽到管道里面),输出流就是你家水龙头流到你家大水缸的那头(FileOutputStream:将水流到缸里)。

现在有个A.txt文件,你要读取里面的信息,就相当于水龙头抽水库水到管道(FileInputStream),然后读取完后写入到另一个文件里面(FileOutputStream),就是相当于水龙头将抽到水后流到大水缸。很简单吧,就是一进一出的事,没这么复杂。

以上是java中什么是io流的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn