java高级-IO

时间:2021-08-10
本文章向大家介绍java高级-IO,主要包括java高级-IO使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

输入流:InputStream/Reader(字节/字符)

输出流:OutputStream/Writer(字节/字符)

一.字节流

1.文本,图片,音频,视频都是以二进制(字节)形式存在的

2.字节流读写文件:FileInputStream/FileOutputStream。可以实现文件的拷贝

3.字节流的缓冲区:一个字节一个字节的读写,需要频繁的操作文件,效率很低。可以建一个临时缓冲区(数组)

4.字节缓冲流:BufferedInputStream/BufferedOutputStream

二.字符流

1.字符流操作文件:FileReader/FileWriter。也可以建字符流缓冲器提高效率

2.字符缓冲流:BufferedReader/BufferedWriter

三:转换流

InputStreamReader:字节输入流转换成字符输入流

OutputStreamWriter:字节输出流转换成字符输出流

四.File类

1.IO流可以对文件内容就行读写,但对文件本身进行的一些常规操作是无法通过IO流来实现的

五.RandomAccessFile

1.可以从文件任意位置开始执行读写操作

六.对象序列化

1.对象序列化:将一个java对象转换成一个IO流中字节序列的过程,使内存中的对象转换成与平台无关的二进制流

 目的是为了将对象保存到磁盘上,或将java对象在网络中传输

 将IO流中的字节序列恢复成java对象称为反序列化

七.NIO 

1.从jdk1.4引入

2.NIO采取内存映射文件的方式来处理输入输出。使用的通道(Channel)和缓冲区(Buffer)

八.NIO.2

1.jdk7引入

2.Path接口,Paths和Files两个工具类

原文地址:https://www.cnblogs.com/midiyu/p/15123091.html