Java中IO系统小题-将D盘中的文件剪切到D盘temp文件夹中

题目.编写java程序,模仿将D盘中demo.txt文件剪切到D盘temp文件夹中.

package IOFile.File001; // 定义了包名为IOFile.File001

import java.io.FileInputStream; // 导入文件输入流类
import java.io.FileNotFoundException; // 导入文件未找到异常类
import java.io.FileOutputStream; // 导入文件输出流类
import java.io.IOException; // 导入输入输出异常类

public class FileTemp { // 定义名为FileTemp的类

    public static void main(String[] args) throws IOException { 
        FileInputStream inputStream = new FileInputStream("D:/Demo.txt"); 
// 创建文件输入流,从Demo.txt读取数据
        FileOutputStream outputStream = new FileOutputStream("E:/Temp.txt"); 
// 创建文件输出流,写入数据到Temp.txt

        int intex = 0; // 声明一个变量用于存储读取的字节
        while ((intex = inputStream.read()) != -1) { // 循环读取文件中的字节,直到文件结束
            System.out.println(intex); // 将读取的字节打印到控制台
            outputStream.write(intex); // 将读取的字节写入到输出流,实现文件复制
        }

        inputStream.close(); // 关闭输入流
        outputStream.close(); // 关闭输出流
    }
}

代码解释

主要功能在main方法中实现。首先创建了一个文件输入流FileInputStream,用于从指定路径的文件"D:/Demo.txt"读取数据,再创建了一个文件输出流FileOutputStream,用于将数据写入到另一个指定路径的文件"E:/Temp.txt"

接下来是一个while循环,它会不断地从输入流中读取字节,直到文件末尾(read()方法返回-1)。在循环内部,每次读取一个字节,将其打印到控制台并写入到输出流中,从而实现文件内容的复制。

最后,要关闭了输入流和输出流,释放资源,如果不关闭此通道就会一直占用着可能会造成下面三种情况

如果不关闭输入流和输出流的通道,可能会导致以下问题:

1. 资源泄漏:打开的文件句柄会一直保持打开状态,这会占用系统资源。在处理大量文件或长时间运行的程序中,资源泄漏可能导致系统性能下降甚至耗尽系统资源。

2. 数据丢失:当程序结束时,尚未写入磁盘的数据可能会丢失,因为缓冲区中的数据尚未刷新到磁盘上。如果没有调用`close()`方法关闭输出流,可能会导致最后一部分数据未能完全写入目标文件。

3. 文件锁定:在某些操作系统中,如果未正确关闭文件流,可能会导致文件被锁定,从而阻止其他程序对该文件的访问。

综上所述,关闭输入流和输出流是十分重要的,以释放资源并确保数据完整性和文件的正常访问。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值