试编程实现使用缓存数组的方法实现从C盘根目录复制文件a.jpg到E盘根目录

java 复制代码
import java.io.*;

public class FileCopier {
    private static final int BUFFER_SIZE = 4096;
    
    public static void main(String[] args) {
        String sourcePath = "C:\\a.jpg";  // 源文件路径
        String destinationPath = "E:\\";  // 目标文件夹路径
        
        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 + "a.jpg")) {
             
            byte[] buffer = new byte[BUFFER_SIZE];
            int bytesRead;
            
            while ((bytesRead = inputStream.read(buffer)) != -1) {
                outputStream.write(buffer, 0, bytesRead);
            }
            
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

在上面的示例中,我们定义了常量 BUFFER_SIZE,用于设置缓存数组的大小。我们创建了一个 FileInputStream 来读取源文件,创建了一个 FileOutputStream 来写入目标文件。通过不断从输入流读取数据并将其写入输出流,实现了文件的复制。最后,我们将源文件路径和目标文件夹路径传递给 copyFile 方法来执行文件复制操作。

请注意,在示例中我们使用了 try-with-resources 语句来自动关闭输入流和输出流,以确保资源被正确释放。

记得将 sourcePathdestinationPath 替换为你实际的文件路径。

相关推荐
木昜先生3 分钟前
知识点:深入理解 JVM 内存管理与垃圾回收
java·jvm·后端
115432031q6 分钟前
基于SpringBoot+Vue实现的旅游景点预约平台功能十三
java·前端·后端
战族狼魂10 分钟前
基于SpringBoot+PostgreSQL+ROS Java库机器人数据可视化管理系统
java·spring boot·postgresql
半个脑袋儿17 分钟前
Java线程控制: sleep、yield、join深度解析
java
猫猫头有亿点炸20 分钟前
C语言大写转小写2.0
c语言·开发语言
小智疯狂敲代码21 分钟前
Spring MVC-DispatcherServlet 的源码解析
java·面试
int0x0321 分钟前
Java中的内存"瘦身术":揭秘String Deduplication
java
伊织code22 分钟前
cached-property - 类属性缓存装饰器
python·缓存·cache·装饰器·ttl·property·cached-property
半个脑袋儿22 分钟前
Java日期格式化中的“YYYY”陷阱:为什么跨年周会让你的年份突然+1?
java·后端
CHQIUU35 分钟前
Java 设计模式心法之第25篇 - 中介者 (Mediator) - 用“中央协调”降低对象间耦合度
java·设计模式·中介者模式