java完成图片的复制,要求1、请用户输入图片的源路径(提示用\\);判断图片是否存在,如果不存在,要求用户重新输入;2、要求用户输入日的目录,判断是否是一个文件,如果不是文件,在日的路径后加上文件名;
时间: 2024-03-26 17:41:03 浏览: 51
好的,您的问题是如何使用 Java 完成图片的复制并满足上述要求,对吗?
以下是示例代码:
```java
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.channels.FileChannel;
import java.util.Scanner;
public class ImageCopy {
public static void main(String[] args) throws IOException {
Scanner scanner = new Scanner(System.in);
// 输入图片源路径
System.out.print("请输入图片的源路径(用\\\\表示路径分隔符):");
String srcPath = scanner.nextLine();
File srcFile = new File(srcPath);
while (!srcFile.exists()) {
System.out.print("图片不存在,请重新输入图片的源路径:");
srcPath = scanner.nextLine();
srcFile = new File(srcPath);
}
// 输入目标路径
System.out.print("请输入目标目录路径:");
String destDirPath = scanner.nextLine();
File destDir = new File(destDirPath);
if (!destDir.exists()) {
destDir.mkdirs();
}
// 如果目标路径不是一个文件,加上文件名
if (!destDir.isFile()) {
System.out.print("请输入文件名:");
String fileName = scanner.nextLine();
destDirPath = destDirPath + "\\" + fileName;
}
File destFile = new File(destDirPath);
// 文件复制
FileChannel srcChannel = new FileInputStream(srcFile).getChannel();
FileChannel destChannel = new FileOutputStream(destFile).getChannel();
destChannel.transferFrom(srcChannel, 0, srcChannel.size());
srcChannel.close();
destChannel.close();
System.out.println("文件复制成功!");
}
}
```
说明:
1. 首先使用 `Scanner` 获取用户输入的图片源路径和目标路径。
2. 判断图片源路径是否存在,如果不存在,要求用户重新输入,直到输入存在的路径为止。
3. 判断目标路径是否存在,如果不存在,使用 `mkdirs()` 方法创建目录。
4. 如果目标路径不是一个文件,要求用户输入文件名,然后将文件名与目标路径拼接得到最终的目标路径。
5. 使用 `FileChannel` 将图片源文件复制到目标文件中。
6. 输出复制成功的信息。
希望这个示例代码能够帮助到您!
阅读全文