当前位置: 首页 > news >正文

试用程序实现不使用缓存字节数组的方法复制C盘根目录下的a,jpg到E盘下的a.jpg

import java.io.*;

public class FileCopier {
    public static void main(String[] args) {
        String sourcePath = "C:\\a.jpg";  // 源文件路径
        String destinationPath = "E:\\a.jpg";  // 目标文件路径
        
        copyFile(sourcePath, destinationPath);
        
        System.out.println("文件复制完成。");
    }
    
    public static void copyFile(String sourcePath, String destinationPath) {
        try (InputStream inputStream = new FileInputStream(sourcePath);
             OutputStream outputStream = new FileOutputStream(destinationPath)) {
             
            int byteRead;
            
            while ((byteRead = inputStream.read()) != -1) {
                outputStream.write(byteRead);
            }
            
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

在上面的示例中,我们创建了一个 FileInputStream 来读取源文件,创建了一个 FileOutputStream 来写入目标文件。通过每次读取一个字节并将其写入输出流的方式,实现了文件的复制。最后,我们将源文件路径和目标文件路径传递给 copyFile 方法来执行文件复制操作。

同样的,我们使用了 try-with-resources 语句来自动关闭输入流和输出流,以确保资源被正确释放。

记得将 sourcePath 和 destinationPath 替换为你实际的文件路径。

相关文章:

  • 数据结构与算法之递归: LeetCode 46. 全排列 (Typescript版)
  • Linux系统编程--文件操作函数
  • Vue 3 面试经验分享
  • Docker的数据持久化;Docker网络;Dockerfile编写
  • 传音荣获2023首届全国人工智能应用场景创新挑战赛“智能家居专项赛”三等奖
  • 如何把ipa文件(iOS安装包)安装到iPhone手机上? 附方法汇总
  • Springboot+vue的新冠病毒密接者跟踪系统(有报告)。Javaee项目,springboot vue前后端分离项目
  • Android 13.0 Launcher3 禁止首屏时钟部件拖动到其他屏
  • visual studio 2022 更改字体和大小
  • c 语言常见的易错题分析
  • localForage使用 IndexedDB / WebSQL存储
  • 数据结构---堆
  • 火柴人版王者-Java
  • JavaWeb后端数据库MySQL的使用
  • 【Qt之QFileInfo】使用
  • 智慧城市运营管理平台解决方案:PPT全文61页,附下载
  • java游戏制作-王者荣耀游戏
  • 基于单片机智能液位水位监测控制系统
  • 如何开发有趣而富有创意的营销小游戏
  • Java游戏制作——王者荣耀
  • 沧州低空经济起飞:飞行汽车开启千亿赛道,通用机场布局文旅体验
  • 山东:小伙为救同学耽误考试属实,启用副题安排考试
  • 四部门:强化汛期农业防灾减灾,奋力夺取粮食和农业丰收
  • 美凯龙:董事兼总经理车建兴被立案调查并留置
  • 视频丨美国两名男童持枪与警察对峙,一人还试图扣动扳机
  • A股三大股指集体高开