趣文网 > 作文大全

编程体系结构:JavaIO流文件管理

2020-12-31 12:15:01
相关推荐

一、IO流分类

1、分类角度

流的方向

输入流:从数据源中读取数据到应用中的流;输出流:从应用中将数据写入到目的地的流;流数据类型

字节流:以字节形式来读写的流,标识是名称以Stream结尾;字符流:以字符形式来读写的流,标识是名称以Writer、Reader结尾;管道流:以数据块为单位来处理,缓冲区就是用于读写的数据块;流的角色

节点流:可以从一个节点或者向一个节点读/写数据的流,也被称为低级流;处理流:对存在的流进行连接或者封装、封装后的流来进行读/写、也被称为高级流。2、API体系

5个核心类ObjectOutputStream:File、OutputStream、InputStream、Writer、Reader;

1关键接口:Serializable;

二、API细节分类

1、字节输入流

InputStream:字节输入流是所有字节输入流的父类、为所有字节输入流提供一个标准、和基本的与读取字节有关的方法及简单的实现。

FileInputStream:文件字节输入流以字节的形式将文件中数据读取到应用中;

BufferedInputStream:缓冲字节输入流,提供缓冲功能,提高效率;

ByteArrayInputStream:字节数组输入流用于读取其内置缓存字节数组中的字节;

PipedInputStream:管道字节输入流必须与PipedOutputStream结合使用,用于线程之间的通信;

FilterInputStream:过滤器字节输入流,重写InputStream方法,为字节输入处理流提供扩展;

DataInputStream:数据字节输入流,一般与DataOutputStream结合使用;

ObjectInputStream:对象字节输入流,与ObjectOutputStream结合使用;

2、字节输出流

OutputStream:字节输出流,InputStream作用一样,为所有字节输出流提供一个标准、定义了一些基本输出字节的方法与简单实现;

FileOutputStream:文件字节输出流,将字节写入指定目标的文件源中;

BufferedOutputStream:缓冲字节输出流,提供缓冲功能、提高效率;

ByteArrayOutputStream:字节数组输出流,将字节写入到其本身所带的一个内置缓存字节数组中;

PipedoutputStream:管道字节输出流,必须与PipedInputStream结合使用、用于线程之间的通信;

FilterOutputStream:过滤字节输出流,为字节输出处理流提供扩展;

DataOutputStream: 数据字节输出流,一般与DataInputStream结合使用;

ObjectOutputStream:对象字节输出流,通常与ObjectInputStream结合使用;

PrintStream:字节打印流,字节输出流进行装饰、提供打印各种数据类型的功能;

3、字符输入流

Reader:字符输入流,为所有字符输入流提供一个标准、只有基本的读取方法的定义和简单的实现;

InputStreamReader:字节转换流,将字节流转换成字符流,并且可以指定字节转成字符时使用的编码;

BufferedReader:缓冲字符输入流,为字符输入流提供缓冲功能、提高效率;

CharArrayReader:字符数组输入流,将其内置字符缓存数组中的数据读取到应用中;

PipedReader:管道字符输入流,与PipedWriter结合使用、用于线程之间的通信;

FilterReader:过滤字符输入流,为字符输入流提供扩展;

FileReader:文件字符输入流,字符的形式读取文件中的内容;

4、字符输出流

Writer:字符输出流,所有字符输出流提供一个标准,基本写入的方法和简单的实现;

OutputStreamWriter:字节输出转换流,用于将字节输出流转化成字符输出流。可以指定编码转化;

BufferedWriter:缓存字符输出流,提供缓冲功能、提高效率;

CharArrayWriter:字符输出流,用于将字符写入其内置缓存字符数组中;

PipedWriter:管道字符输出流,与PipedReader结合使用,用于线程之间的通信;

FileWriter:文件字符输出流,用于将字符写入到指定文件中;

PrintWriter:字符打印流,将各种数据以字符的形式打印;

三、File文件类

1、构造方法

File(String pathname):指定文件或者文件夹的路径创建一个File文件;

File(File parent,String child):根据parent抽象路径名和child路径名字符创建新的File实例;

2、路径问题

绝对路径:该文件在硬盘上的完整路径。绝对路径一般都是以盘符开头的。

相对路径: 相对路径就是资源文件相对于当前程序所在的路径。

. 当前路径

.. 上一级路径

3、文件的创建

createNewFile():在指定位置创建一个空文件,成功返回true,已存在就不创建然后返回false;

mkdir():在指定位置创建目录,这只会创建最后一级目录,上级目录不存在就抛异常;

mkdirs():在指定位置创建目录,这会创建路径中所有不存在的目录;

4、删除文件

delete() 删除文件或者一个空的文件夹,如果文件夹且不为空,则不能删除,成功返回true,失败返回false;

5、判断方法

exists():文件或文件夹是否存在;

isFile():是否是一个文件,如果不存在,则始终为false;

isDirectory():是否是一个目录,如果不存在,则始终是false;

6、获取文件信息

getName():获取文件或文件夹名称,不包含上级路径;

getPath():返回绝对路径,可以是相对路径,但是目录要指定

四、编码解码

字节流读取的是文件中的二进制数据,不会自动转为可以看懂的字符;字符流:把读到的数据进行对应的编码与解码。

阅读剩余内容
网友评论
相关内容
小编推荐

大家都在看

我的老师初一作文600字 关于雨的作文600 英语习惯作文 最美心头一亮时作文600字 我最喜欢的歌作文400字 家乡的小河作文300字四年级 伤感的作文 你的样子作文 赞美人的作文 描写老师作文的开头 遇见作文 亲情的作文200字 高考作文素材书推荐 爱使我坚强作文 家庭新闻作文 五年级上册英语作文 我获奖了作文 瘦西湖的作文 我被爸爸打屁股作文 未来的汽车作文600字 写摔跤的作文 我的小学生活作文800字 职校初体验作文 公鸡作文400字 万州大瀑布作文 有关新年的作文300字 寿县古城墙作文 心儿怦怦跳作文200字 月考之后作文400字 以交流为话题的作文