java IO流的使用

本文详细介绍了字节流的基本概念及应用,包括如何通过InputStream读取文件内容,并将其转换为可显示的字符;同时,也讲解了如何使用OutputStream将字符串写入到文件中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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文件中了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值