手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

IO流原理及流的分类

时间:2024-10-14 21:29:56

1、Java IO流原理l I/O是Input/Output的缩写, I/O技术是非常实用的技术,用于处理设备之间的数据传输。如读/写文件,网络通讯等。l Java程序中,对于数据的输入/输出操作以”流(stream)” 的方式进行。java.io包下提供了各种“流”类和接口,用以获取不同种类的数据,并通过标准的方法输入或输出数据

IO流原理及流的分类

2、流的分类l 按操作数据单位不同分为:字节流(8 bit),字符流(16 bit)l 按数据流的流向不同分为:输入流,输出流l 按流的角色的不同分为:节点流,处理流

IO流原理及流的分类
IO流原理及流的分类
IO流原理及流的分类

3、节点流(文件流)读取文件1.建立一个流对象,将已存在的一个文件加载进流。Ø FileReader fr = new FileReader(“Test.txt”);2.创建一个临时存放数据的数组。Ø char[] ch = new char[1024];3.调用流对象的读取方法将流中的数据读入到数组中。Ø fr.read(ch);注 意l 定义文件路径时,注意:可以用“/”或者“\\”。l 在写入一个文件时,如果目录下有同名文件将被覆盖。在读取文件时,必须保证该文件已存在,否则出异常

IO流原理及流的分类

4、缓冲流l 为了提高数据读写的速度,Java API提供了带缓冲功能的流类,在使用这些流类时,会创建一个内部缓冲区数组l 根据数据操作单位可以把缓冲流分为:Ø BufferedInputStream 和 BufferedOutputStreamØ BufferedReader 和 BufferedWriterl 缓冲流要“套接”在相应的节点流之上,对读写的数据提供了缓冲的功能,提高了读写的效率,同时增加了一些新的方法l 对于输出的缓冲流,写出的数据会先在内存中缓存,使用flush()将会使内存中的数据立刻写出

IO流原理及流的分类

5、转换流转换流l 转换流提供了在字节流和字符流之间的转换l Java API提供了两个转换流:Ø InputStreamReader和OutputStreamWriterl 字节流中的数据都是字符时,转成字符流操作更高效。

IO流原理及流的分类
IO流原理及流的分类

6、标准输入/输出流标准输入/输出流l System.in和System.out分别代表了系统标准的输入和输出设备l 默认输入设备是键盘,输出设备是显示器l System.足毂忍珩in的类型是InputStreaml System.out的类型是PrintStream,其是OutputStream的子类FilterOutputStream 的子类l 通过System类的setIn,setOut方法对默认设备进行改变。Ø public static void setIn(InputStream in)Ø public static void setOut(PrintStream out)

IO流原理及流的分类

7、打印流l 实现将基本数据类型的数据格式转化为字符串输出l 打印流:PrintStream和PrintWriterØ 提供了一系列重载的print和println方法,用于多种数据类型的输出Ø PrintStream和PrintWriter的输出不会抛出异常Ø PrintStream和PrintWriter有自动flush功能Ø System.out返回的是PrintStream的实例

IO流原理及流的分类

8、数据流l 为了方便地操作Java语言的基本数据类型的数据,可以使用数据流。l 数据流有两个类:(用于读取和写出基本数据类型的数据)Ø DataInputStream 和 DataOutputStreamØ 分别“套接”在 InputStream 和 OutputStream 节点流上

IO流原理及流的分类

9、对象流 对象流l ObjectInputStream恽但炎杰和OjbectOutputSteamØ 用于存储和读取基本数据类型数据或对象的处理流。它的强大之处就是可以把Java中的对象写入到数据翮堠江辰源中,也能把对象从数据源中还原回来。l 序列化:用ObjectOutputStream类保存基本类型数据或对象的机制l 反序列化:用ObjectInputStream类读取基本类型数据或对象的机制Ø ObjectOutputStream和ObjectInputStream不能序列化static和transient修饰的成员变量对象的序列化l 对象序列化机制允许把内存中的Java对象转换成平台无关的二进制流,从而允许把这种二进制流持久地保存在磁盘上,或通过网络将这种二进制流传输到另一个网络节点。当其它程序获取了这种二进制流,就可以恢复成原来的Java对象

IO流原理及流的分类

10、随机存取文件流RandomAccessFile 类l RandomAccessFile 类支持 “随机访问” 的方式,程序可以直接跳到文件的任意地方来读、写文件Ø 支持只访问文件的部分内容Ø 可以向已存在的文件后追加内容l RandomAccessFile 对象包含一个记录指针,用以标示当前读写处的位置。RandomAccessFile 类对象可以自由移动记录指针:Ø long getFilePointer():获取文件记录指针的当前位置Ø void seek(long pos):将文件记录指针定位到 pos 位置

IO流原理及流的分类

11、流的基本应用小节

IO流原理及流的分类
© 手抄报圈