【Java问题】有没有大佬给个代码和思路!

我有的想法是这样的importjava.io.File;importjava.IoException;publicclasstest{pubilcstaticvoidma... 我有的想法是这样的import java.io.File;import java.IoException;public class test{pubilc static void main(String args[])throws IoException{String S1 = "G:/Java_Source/Example1.java";String S2 = "G:/Java_Source/Example2.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");}}现在想搞一个循环吧这个题目实现,有大佬给个代码和讲解思路吗? 展开
 我来答
紫薇参星
科技发烧友

2020-05-08 · 有一些普通的科技小锦囊
知道大有可为答主
回答量:5983
采纳率:92%
帮助的人:3602万
展开全部

因为题目要求拷贝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");

 }

}

匿名用户
2020-05-08
展开全部
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();
}

希望采纳。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式