Java中对文件操作,进行读写

本文详细介绍了Java中的File类和IO流,包括如何使用FileInputStream和FileOutputStream进行文件内容的读写,以及如何在文件间传输数据,如图片。通过实例展示了基本的文件操作步骤和效果。

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

File类

封装文件/目录的各种信息,对目录/文件进行操作,但是我们不可以获取到文件/目录中的内容,于是便有了IO流。

IO流

I/O : Input/Output的缩写,用于处理设备之间的数据的传输。

【理解】我们可以把IO流理解为一根管子,连接程序与文件,输送数据流。

用FileInputStream,FileOutputStream向文件读取和写入内容

不论是读取还是输入,IO流的操作总是分为四步

1.获得一个文件对象/数据源对象

2.获得io流对象,连接数据源

3.调用方法写入

4.关闭流对象,后开先关

【举例】

我们访问D盘中文件夹‘网易云’中的文件111.txt

调用FileOutputStream连接数据源进行输出

//1.获得一个文件对象/数据源对象
        File file=new File("D:\\网易云\\111.txt");
        //2.获得io流对象,连接数据源
        FileOutputStream f1=new FileOutputStream(file);
        //3.调用方法写入
        f1.write("\nasdfhghdafaksdj3".getBytes());
        //4.关闭流对象,后开先关
        f1.close();

运行效果

我们可以看到字符串已经被输入到文件中,当然我们也可以读取此文件中的字符串。

对刚才的例子进行小小的修改

//1.获得一个文件对象/数据源对象
        File file=new File("D:\\网易云\\111.txt");
        //2.获得io流对象,连接数据源
//        FileOutputStream f1=new FileOutputStream(file);
        //3.调用方法写入
//        f1.write("\nasdfhghdafaksdj3".getBytes());
        //4.关闭流对象,后开先关
//        f1.close();
        System.out.println("输出成功");
        FileInputStream f2=new FileInputStream(file);
        int i=f2.read();
        while(i!=-1) {
            System.out.print((char)i);
            i=f2.read();
        }
        f2.close();

运行结果

可以看出,我们写入的字符串被输出在控制台上。

当我们想要在文件与文件之间传输信息,图片,视频等都可以用此方法。

我们以在两个文件中传输图片为例。

先创建一个文档用来接收要转入的图片,后缀要改成.png

代码实现

我们随便截取一张截图保存在如下位置,调用FileInputStream和FileOutputStream进行传输

        File file=new File("D:\\图片\\Screenshots\\QQ截图20240312140303.png");
        File file1=new File("D:\\IO流Test\\图片.png");

        FileInputStream f1 = new FileInputStream(file);
        FileOutputStream f2=new FileOutputStream(file1);
        int i=f1.read();
        while(i!=-1) {
            f2.write(i);
            i=f1.read();
        }
        f2.close();
        f1.close();

运行效果

传输成功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值