发布网友 发布时间:2022-04-23 17:42
共2个回答
热心网友 时间:2022-05-07 18:32
因为题目要求拷贝Example1-10.java文件从Java_Source到Java目录下,可以把数字拼到文件名的字符串中,从而把Example1-10.java文件,一个一个复制到目标目录下.
完整的Java程序如下
import java.io.File;
import java.IoException;
public class test{
pubilc static void main(String args[])throws IoException{
for(int i=1;i<=10;i++){
String S1 = "G:/Java_Source/Example"+i+".java";
String S2 = "G:/Java/Example"+i+".java";
File Source = new File(S1);
File dest = new File(S2);
java.nio.file.Files.copy(Source.toPath(),dest.toPath());
}
System.out.printIn("File copy");
}
}
热心网友 时间:2022-05-07 19:50
public static void main(String[] args) throws IOException {
String S1 = "G:/Java_Source/Example1.java";
String S2 = "G:/Java_Source/Example2.java";
// 注意:
// step.1
// F:\Java_Source文件夹下面是不是只有你说的Example1.java 到 Example10.java 10个java文件。
// 如果只有这10个文件,我理解的就是把F:\Java_Source下所有的文件copy到F:\Java文件夹下
// 代码如下
copyDir("F:\\Java_Source", "F:\\Java");
System.out.println("F:\\Java_Source 下所有文件copy完成。");
// ----------另外一种方案-----------
// step.2 如F:\Java_Source文件夹下面有很多文件夹还有其他的文件,要在里面挑选Example1.java 到 Example10.java 10个java文件
// 代码如下
File source = new File("F:\\Java_Source");
File[] files = source.listFiles();
for (int i = 0; i < files.length; i++) {
System.out.println("当前处理文件名称:fileName=" + files[i].getName());
// 这个文件名可以扩展
String fileName = "Example" + i + ".java";
// 如果符合Example1 ~ Example10 文件命名
if (fileName.equals(files[i].getName())) {
System.out.println("当前处理文件名称:fileName=" + files[i].getName() + "符合赋值文件要求。");
copyFile("F:\\Java_Source" + files[i].separator + files[i].getName(), "F:\\Java" + files[i].separator + files[i].getName());
}
}
}
public static void copyDir(String sourcePath, String newPath) throws IOException {
// 获取文件夹File对象
File file = new File(sourcePath);
// 获取文件夹下所有内容的名称
String[] filePath = file.list();
// 判断要目标文件夹是否存在不存在则创建
if (!(new File(newPath)).exists()) {
(new File(newPath)).mkdir();
}
// 循环遍历
for (int i = 0; i < filePath.length; i++) {
//判断是不是文件夹,是的话执行递归。file.separator 分隔符,如“/”
if ((new File(sourcePath + file.separator + filePath[i])).isDirectory()) {
copyDir(sourcePath + file.separator + filePath[i], newPath + file.separator + filePath[i]);
}
//判断是不是文件,是的话旧的文件拷至新的文件夹下
if (new File(sourcePath + file.separator + filePath[i]).isFile()) {
copyFile(sourcePath + file.separator + filePath[i], newPath + file.separator + filePath[i]);
}
}
}
public static void copyFile(String oldPath, String newPath) throws IOException {
// 获取旧的文件File对象
File oldFile = new File(oldPath);
// 获取新的文件File对象并生成文件
File file = new File(newPath);
FileInputStream in = new FileInputStream(oldFile);
FileOutputStream out = new FileOutputStream(file);
byte[] buffer = new byte[2097152];
int readByte = 0;
//读取旧文件的流写入新文件里
while ((readByte = in.read(buffer)) != -1) {
out.write(buffer, 0, readByte);
}
in.close();
out.close();
}
希望采纳。