IO流宝典、IO流总结 FileInputStream BufferedInputStream InputStreamReader FileReader BufferedReader 等等常用方法

虽然内容有点多,但很经典,希望能帮助到大家。

1. File类

1.1 构造方法

File(String pathname):通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例
File(String parent,String child):根据parent路径名字符串和child 路径名字符串创建一个新File实例
File(File parent,String child):根据parent抽象路径名和child 路径名字符串创建一个新 File 实例

1.2 创建功能

public boolean createNewFile():创建文件
public boolean mkdir():创建目录
public boolean mkdirs():创建多级目录

1.3 删除功能

public boolean delete():删除文件和目录

1.4 判断功能

public boolean isDirectory():判断是否是目录
public boolean isFile():判断是否是文件
public boolean exists():判断是否存在

1.5 获取功能

public String getPath():获取相对路径
public String getAbsolutePath():获取绝对路径
public String getName():获取名称
public File[] listFiles()

2. 字节基本流类

2.1 FileInputStream输入流

构造方法

FileInputStream(String name) ----常用
FileInputStream(File file)

读数据的方法(成员方法)

public int read():读取一个字节的数据,如果已到达文件末尾,则返回 -1public int read(byte[] b):读入一个 byte 数组的数据,如果已到达文件末尾,则返回 -1

2.2 FileOutputStream输出流

构造方法

FileOutputStream(String name) ----常用
FileOutputStream(File file) 

写数据的方法(成员方法)

public void write(int b):一次写一个字节
public void write(byte[] b):一次写一个字节数组
public void write(byte[] b,int off,int len):一次写一个字节数组的一部分

3. 字节缓冲区流类

本质:在字节基本流的基础上加了一个缓冲区,里面方法和字节基本流的方法一样,这里就不在一一列出

3.1 BufferedInputStream输入流

构造方法

BufferedInputStream(InputStream in) 需要传一个基本的字节输入流对象

3.2 BufferedOutputStream输出流

构造方法

BufferedOutputStream(OutputStream out) 需要传一个基本的字节输出流对象

4. 转换流

本质是字符流 = 字节流 + 编码表 是字节流到字符流的桥梁

4.1 InputStreamReader输入流

构造方法

public InputStreamReader(InputStream in)//默认UTF-8
用默认的编码读数据
public InputStreamReader(InputStream in,String charsetName)
用指定的编码读取数据

读数据方法

public int read():一次读取一个字符
public int read(char[] cbuf):一次读取一个字符数组

在这里插入图片描述

4.2 OutputStreamWriter输出流

构造方法

public OutputStreamWriter(OutputStream out)//默认UTF-8
根据默认编码把字节流的数据转换为字符流
public OutputStreamWriter(OutputStream out,String charsetName)
根据指定编码把字节流数据转换为字符流

写数据方法

public void write(int c):写一个字符
public void write(char[] cbuf):写一个字符数组
public void write(char[] cbuf,int off,int len):写一个字符数组的一部分

特有方法

public void write(String str):写一个字符串
public void write(String str,int off,int len):写一个字符串的一部分

5. 字符基本流

继承转换流,转化流的子类,所以他的方法都是继承转换流的,下面我就不再一一列出来了

5.1 FileReader输入流

构造方法

FileReader(String fileName)

5.2 FileWriter输出流

构造方法

FileWriter(String fileName)

6. 字符缓冲区流

本质:在字符基本流的基础上加了一个缓冲区,里面方法和字符基本流的方法一样,这里就不在一一列出

6.1 BufferedReader输入流

构造方法

BufferedReader(Reader in)  传一个字符基本流对象

特有方法

String readLine():包含该行内容的字符串,不包含任何行终止符,如果已到达流末尾,则返回 null 

6.2 BufferedWriter输出流

构造方法

BufferedWriter(Writer out)  传一个字符基本流对象

特有方法

void newLine():写入一个行分隔符,这个行分隔符是由系统决定的

7. 序列化流

7.1 ObjectOutputStream类

构造方法

ObjectOutputStream(OutputStream out) 创建一个指定OutputStream的ObjectOutputStream

写对象方法

public final void writeObject (Object obj) : 将指定的对象写出

7.2 ObjectInputStream类

构造方法

ObjectInputStream(InputStream in) 创建一个指定InputStream的ObjectInputStream

读对象方法

public final Object readObject () : 读取一个对象

8. 打印流

IO流中的单身汉流,只能输出数据,不能读取数据

8.1 PrintStream字节打印流

构造方法

PrintStream(File file) 传一个文件对象
PrintStream(String fileName)  传一个文件名
PrintStream(OutputStream out) 传一个输出流对象
PrintStream(OutputStream out, boolean autoFlush) 传一个输出流对象,第二个传true可以自动刷新

写数据特殊方法

void println() 直接输出一个换行
void print(任意类型) 输出任意数据
void println(任意类型)  输出任意数据后换行

8.2 PrintWriter字符打印流

构造方法

PrintWriter(File file) 传一个文件对象
PrintWriter(String fileName)  传一个文件名
PrintWriter(OutputStream out) 传一个输出流对象
PrintWriter(OutputStream out, boolean autoFlush) 传一个输出流对象,第二个传true可以自动刷新

写数据特殊方法

void println() 直接输出一个换行
void print(任意类型) 输出任意数据
void println(任意类型)  输出任意数据后换行

9. Properties类

本质是一个Map集合,集合中唯一一个直接和IO有关的集合,可以直接从文件中读写数据

构造方法

public Properties() :创建一个空的属性列表

存取方法

public Object setProperty(String key, String value) : 保存一对属性
public String getProperty(String key) :使用此属性列表中指定的键搜索属性值
public Set<String> stringPropertyNames() :所有键的名称的集合

与流相关的方法

字节输入流中读取键值对
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值