java IO流的使用

IO流的分类:
根据处理数据类型的不同分为:字符流和字节流
根据数据流向不同分为:输入流和输出流

本次介绍的就是字节流
IO流我个人理解为水从一个容器流入另一个容器,InputStream流是一个容器的数据流入显示的容器,也就是控制台或者用户界面;OutputStream流是将用户从控制台或用户界面输入的数据流向另一个储存容器


在我的另一篇博客里讲述了File文件类的使用,IO流的处理便需要用到File类。

首先,我们实例化一个File类,获取文件的路径

        File file1 = new File("e:/Lenovo/aaa.txt");

接着创建一个InputStream流读取该文件的内容,代码的最后记得关闭流close()

        try {
            FileInputStream fi = new FileInputStream(file1);
            int c=fi.read();   //读取文件内容的方法
            while(c>-1){
                System.out.print((char)c);
                c=fi.read();   //当aaa.txt读取完毕时返回值为-1
            }
            fi.close();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

需要注意的是,使用该方法获取的文件内容为ASSIC码,需要转换成char类型才能正常显示,同时也意味着该方法不能读取汉字,因为汉字使用的是双字节编码方式(Unicode——国际统一编码)。

我们执行一遍代码
这里写图片描述
可以看到,文件里的内容已经显示出来了。


既然已经知道了读取数据,那么怎么写入数据呢,这时候我们就需要用到OutputStream流了

同样,先实例化File类,同时我们定义一个字符串,并将其分解进byte数组里

        File file2 = new File("e:/Lenovo/aaa.txt");
        String s="Hello China";
        byte[] b=s.getBytes();

然后调用write()方法将其写入

        try {
            FileOutputStream fo = new FileOutputStream(file2);
            fo.write(b);
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

执行完毕后可以看到
这里写图片描述
之前定义的字符串已经成功写入aaa文件中了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值