Java-IO流

2019-10-29  本文已影响0人  阿豪puls

File类

File类常用方法

public String getAbsolutePath():获取绝对路径
public String getPath() :获取路径
public String getName() :获取名称
public String getParent():获取上层文件目录路径。若无,返回null
public long length() :获取文件长度(即:字节数)。不能获取目录的长度。
public long lastModified() :获取最后一次的修改时间,毫秒值
public String[] list() :获取指定目录下的所有文件或者文件目录的名称数组
public File[] listFiles() :获取指定目录下的所有文件或者文件目录的File数组
public boolean createNewFile() :创建文件。若文件存在,则不创建,返回false
public boolean mkdir() :创建文件目录。如果此文件目录存在,就不创建了。如果此文件目录的上层目录不存在,也不创建。
public boolean mkdirs() :创建文件目录。如果此文件目录存在,就不创建了。如果上层文件目录不存在,一并创建
public boolean delete(): 删除磁盘中的文件或文件目录,删除注意事项:Java中的删除不走回收站。

IO 原理

流的分类

流的基类

IO 体系

IO体系图

常用流各自的应用场景

字符流(操作字符串)

字符输入流

1、FileReader 字符输入流:用于文本文件读取操作,例:(.txt,.java,.c,.cpp)等文本文件
2、BufferedReader 缓冲区字符输入流:用于提升使用 FileReader 在文件读取方面的效率,针对大文本文件的读取
3、InputStreamReader :将一个字节的输入流转换为字符的输入流,可以设置指定字符流的编码格式

字符输出流

1、FileWrite 字符输出流:用于文本文件写入操作,例:(.txt,.java,.c,.cpp)等文本文件
2、BufferedWriter 缓冲区字符输出流:用于提升使用 FileWrite 在文件写入方面的效率,针对大文本文件的写入
3、OutputStreamWriter :将一个字符的输出流转换为字节的输出流,可以设置指定字符流的编码格式

字节流(操作非文本)

字节输入流

1、FileInputStream 字节输入流:用于非文本文件读取,例:(.jpg,.mp3,.mp4,.avi,.doc,.ppt)等
2、BufferedInputStream 缓冲区字节输入流:用于提升使用 FileInputStream 在文件读取方面的效率

字节输出流

1、FileOutputStream 字节输出流:用于非文本文件写入操作,例:(.jpg,.mp3,.mp4,.avi,.doc,.ppt)等
2、BufferedOutputStream 缓冲区字节输出流:用于提升使用 FileoutputStream 在文件写入方面的效率

对象流

对象的序列化

自定义类要想序列化、反序列化,需满足以下要求
1、需要实现接口:Serializable
2、当前类提供一个全局常量:serialVersionUID
3、除了当前Person类需要实现Serializable接口之外,还必须保证其内部所有属性
也必须是可序列化的。(默认情况下,基本数据类型可序列化)

RandomAccessFile 随机读取写入操作类(应用于:多线程继点下载)

上一篇下一篇

猜你喜欢

热点阅读