请自行下载一副图片保存至“E:\\myfile”路径下,名称为“picture.jpg”,编写Java程序,实现将该文件复制到D盘根目录下,名称为“copypicture.jpg”。
时间: 2024-03-15 11:43:54 浏览: 12
好的,我可以帮你编写这段 Java 程序。你可以按照以下步骤进行操作:
1. 首先,需要导入 Java 的文件操作类库。
```
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
```
2. 接着,定义源文件和目标文件的路径。
```
String sourceFile = "E:\\myfile\\picture.jpg";
String targetFile = "D:\\copypicture.jpg";
```
3. 创建一个 File 类对象来表示源文件和目标文件。
```
File file = new File(sourceFile);
File copyFile = new File(targetFile);
```
4. 创建一个 FileInputStream 对象来读取源文件,以及一个 FileOutputStream 对象来写入目标文件。
```
FileInputStream fis = new FileInputStream(file);
FileOutputStream fos = new FileOutputStream(copyFile);
```
5. 创建一个字节数组来缓存数据。
```
byte[] buffer = new byte[1024];
```
6. 循环读取源文件中的数据,并将其写入目标文件中。
```
int length;
while ((length = fis.read(buffer)) > 0) {
fos.write(buffer, 0, length);
}
```
7. 最后,关闭 FileInputStream 和 FileOutputStream 对象。
```
fis.close();
fos.close();
```
完整的 Java 代码如下所示:
```
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class FileCopy {
public static void main(String[] args) {
String sourceFile = "E:\\myfile\\picture.jpg";
String targetFile = "D:\\copypicture.jpg";
File file = new File(sourceFile);
File copyFile = new File(targetFile);
try {
FileInputStream fis = new FileInputStream(file);
FileOutputStream fos = new FileOutputStream(copyFile);
byte[] buffer = new byte[1024];
int length;
while ((length = fis.read(buffer)) > 0) {
fos.write(buffer, 0, length);
}
fis.close();
fos.close();
System.out.println("File copied successfully!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
你可以将上述代码保存为 FileCopy.java 文件,然后使用 Java 编译器进行编译。在命令行中输入以下命令:
```
javac FileCopy.java
```
编译成功后,运行该程序即可复制文件。在命令行中输入以下命令:
```
java FileCopy
```
程序运行后,会在 D 盘根目录下创建一个名为 copypicture.jpg 的文件,它是从 E 盘中的 picture.jpg 文件复制而来的。