JAVA-输入输出流

一、字节输入/输出流

  • 字节输入流InputStream
  • 字节输出流OutputStream

二者都是抽象类不能实例化,但有不同实现的子类。

  • FileInputStream/FileOutputStream:文件读写流
  • ByteArrayInputStream/ByteArrayOutputStream:字节数组读写流。
  • DataInputStream/DataOutputStream:数据流

  • ObjectInputStream/ObjectOutputStream:直接读取对象流

创建流对象:

InputStream in=new FileInputStream("文件地址");
//创建输入流,需填写需要读入文件的地址
OutputStream out=new FileOutputStream("文件地址");
//创建输出流,需填写输出目标文件的地址

实例的常用方法:

read()方法

输入流方法以字节为单位进行读写,

当read()返回-1,表示读到文件尾部

close()方法输入输出流不使用时,要用该方法关闭。
write()方法输出流方法,将数据写入缓存流。
flush()方法将缓存流的数据写入目标文件。

       

二、字符流

  • Reader与Writer类:用于读写字符,以字节流为基础,本质上处理的还是字节。

    以一个字符为单位读写,一个英文字符在Unicode码等于2字节。其实现子类:

  • FileReader/FileWriter:文件读写流
  • BufferedReader/BufferedReader:缓存加速读写流
  • Scanner/PrintWriter:格式化方式读写流,内部使用了缓存区
  • InputStreamReader

        输出流有一个缓存区,先将数据写入缓存区,当缓存区满了的时候,才输出数据写入目标文件,或者使用flush、close刷新缓存区,直接写入目标文件。

    常见方法:

read()读一个字符
write()写一个字符
readLine()按行读入字符
println()按行写入字符

三、组合过滤流模式

四、字符编码之乱码解决方案

        JAVA可以通过以指定的编码方式打开文件,如图。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值