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 语句来自动关闭输入流和输出流,以确保资源被正确释放。
记得将 sourcePath
和 destinationPath
替换为你实际的文件路径。