java IO流合集

目录

1.基本介绍--流的分类: 

2.节点流:

2.1.FileReader:

2.2.FileWriter:

2.3.FileInputStream,FileOutputStream:

3.缓冲流:

3.1BufferedInputStream,BufferedOutputStream

3.2.BufferedReader,BufferedWriter

4.转换流 :属于字符流

4.1基本介绍:

4.2具体使用:

4.3InputStreamReader,OutputStreamWriter合并使用: 

5.标准输入输出流:了解即可

5.1基本介绍:

5.2具体操作:​

 6.打印流:了解

6.1基本介绍: 

6.2具体使用:以下代码将不再输出到控制台,直接输出到指定文件: 

7.数据流

7.1基本介绍:用于读取或写入基本数据类型的变量或字符串

7.2具体操作:​

8.对象流

8.1基本介绍: 

8.2对象的序列化的基本介绍:

8.3具体实现:

8.4主要事项:

 9.随机存储文件流:RandomAccessFile

 9.1基本介绍:

 9.2RandomAccessFile的具体使用:​

​ 

seek(int i)-->可以将数据指定到文件的某个位置上;

​  

 9.3扩展:

10.java NIO

10.1Path、Paths、Files的基本介绍:

10.2Path、Paths、Files的常用方法: 


1.基本介绍--流的分类: 

深颜色为重点常用流;

访问文件的称为节点流,其他流为处理流,即把节点流作为参数;

字符输入输出流通常处理文本类文件,字节输入输出流通常处理非文本类文件;

 字符集介绍:

2.节点流:

说明:

FileReader,FileWriter(以字符为单位)常用于处理文本文件;

读取中文时尽量一个一个字符读取,不然有可能会出现乱码现象;

FileInputStream,FileOutputStream(以字节为单位)常用于处理非文本文件;

读取文本文件会出现乱码现象;复制文本文件可以且不会出现乱码现象;

2.1.FileReader:

方法一:一个一个读取文件信息;


  方法优化

方法二:一次读取一个char[ ]数组,通常为char[1024],但是读取中文时可能出现乱码现象,读取                 有汉字的文件时最好一个一个读取(3个字符表示一个汉字)

 说明点:

2.2.FileWriter:

说明:

        可以在FileWriter构造器中声明文件是替换原有数据还是添加数据到文件末尾;

 

2.3.FileInputStream,FileOutputStream:

使用FileInputStream读取文本信息时容易乱码;

复制图片过程:

3.缓冲流:

3.1BufferedInputStream,BufferedOutputStream

具体操作:

作用:

flush():作用为把缓冲区的数据清空,一个缓冲区有1024*8,即还未等缓冲区满即把数据发送; 

3.2.BufferedReader,BufferedWriter

具体操作:

如果节点流和处理流声明在一起,关闭则只需关闭最外层的处理流即可;

2种方式读取文件中的数据:

readLine()方法:读取文件中的一行,但是要指定换行,不然只能读取一行数据;

4.转换流 :属于字符流

4.1基本介绍:

4.2具体使用:

4.3InputStreamReader,OutputStreamWriter合并使用: 

5.标准输入输出流:了解即可

5.1基本介绍:

5.2具体操作:

 

 6.打印流:了解

6.1基本介绍: 

6.2具体使用:以下代码将不再输出到控制台,直接输出到指定文件: 

上面PrintStream类中不能放入FileWriter,放入会报错;

7.数据流

7.1基本介绍:用于读取或写入基本数据类型的变量或字符串

读写都应该使用DataInputStream,DateOutputStream,不能直接读;

读取不同类型的数据要与当初写入文件时,保持的顺序一致!

7.2具体操作:

8.对象流

8.1基本介绍: 

8.2对象的序列化的基本介绍:

 

8.3具体实现:

8.4主要事项:

自定义类实现Serializable接口:

        如果自定义类实现了Serializable接口,其内部定义的其他类也需要实现Serializable;

        序列化的值可以任意赋值;

        如果成员变量使用static 或transient 修饰,反序列化时将读不出来(null);

        如果类中有某些属性不想序列化,可以使用transient修饰;

 9.随机存储文件流:RandomAccessFile

 9.1基本介绍:

 JDK1.6上面写的每次write数据时,“rw”模式,数据不会立刻写入硬盘中,而“rwd”模式中数据会立即写入硬盘中;

如果写数据过程中发生异常时,“rwd”模式中已被write的数据被保存在硬盘中,而“rw”则全部丢失;

输入输出时都是与byte打交道;

 9.2RandomAccessFile的具体使用:

​​​​​​​ 

seek(int i)-->可以将数据指定到文件的某个位置上;

  

 9.3扩展:

10.java NIO

10.1Path、Paths、Files的基本介绍:

10.2Path、Paths、Files的常用方法: 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值