我的常用IO流写法1

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():获取名称

2. 字节基本流类

2.1 FileInputStream输入流
构造方法
FileInputStream(String name) ----常用
FileInputStream(File file)
读数据的方法(成员方法)
public int read():读取一个字节的数据,如果已到达文件末尾,则返回 -1。
public 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() :所有键的名称的集合
与流相关的方法
public void load(InputStream inStream) : 从字节输入流中读取键值对

10. ResourceBundle工具类

一个工具类,用它来操作以.properties结尾的文件非常方便
创建对象的方法
static ResourceBundle getBundle(String baseName) 获取src下的资源文件 
读取配置文件方法
String getString(String key) 通过键获取值

11. commons-io工具包

apache提供有关IO操作的类库,可以提高IO功能开发的效率
流的操作
1. public static int copy(InputStream in, OutputStream out); 把input输入流中的内容拷贝到output输出流中,返回拷贝的字节个数(适合文件大小为2GB以下)
2. public static long copyLarge(InputStream in, OutputStream out);把input输入流中的内容拷贝到output输出流中,返回拷贝的字节个数(适合文件大小为2GB以上)
文件的操作
1. public static void copyFileToDirectory(final File srcFile, final File destFile) //复制文件到另
外一个目录下。
2. public static void copyDirectoryToDirectory( file1 , file2 );//复制file1目录到file2位置。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值