Java8 IO流详解

1.IO stream

1.1 概述

  1. IO流的简述

    IO流可以代表dist file ,deviece ,network(socket)等对象,我们操作IO流就相当操作这些对象

    IO流支持各种primitive date type ,string 和oject数据类型

  2. 关系

    byte stream class 都是继承InputStream, OutputStream类,其中byte steam class 有FileInputStream FileOutputStream,其他IO流都是从该类中继承发展出来的

1.2 byte stream

  1. 简述

    使用FileInputStream FileOutputSteam来进行输入和输出,这些类每次都只操作一个字节

  2. 例子

    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    
    public class CopyBytes {
         
        public static void main(String[] args) throws IOException {
         
    
            FileInputStream in = null;
            FileOutputStream out = null;
    
            try {
         
                in = new FileInputStream("xanadu.txt");
                out = new FileOutputStream("outagain.txt");
                int c;
    
                while ((c = in.read()) != -1) {
         
                    out.write(c);
                }
            } finally {
         
                //注意,不管有没有读取和输出成功,都要关闭流
                if (in != null) {
         
                    in.close();
                }
                if (out != null) {
         
                    out.close();
                }
            }
        }
    }
    
  3. 使用环境

    一般都不会直接使用byte streams,因为其实相当于最原生的io stream class,我们可以使用在该类基础山发展出来的更高级封装的io stream,来操作复杂的数据类型,例如如果读取的文件中包含charater字符,则是更好使用charater stream

1.3 character stream

  1. 简述

    FileReader FileWriter每次读取一个字符(charater)

  2. 例子

    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.IOException;
    
    public class CopyCharacters {
         
        public static void main(String[] args) throws IOException 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值