举个例子比如前2个文件夹中,第一个文件夹中有2个文件文件名为1和2,第二个文件夹中有2个文件文件名是1和2,我要的结果就是文件1,文件2,文件3,文件4
时间: 2024-10-08 09:19:48 浏览: 29
一台主机上同时安装两个mysql的安装步骤.pdf
假设你有一个结构类似这样的目录:
```
dir1/
file1.txt
file2.txt
dir2/
file1.txt
file2.txt
```
你想按照顺序合并这两个文件夹中的文件,结果应该是`file1.txt`, `file2.txt`, `file1.txt`(来自dir2),然后继续以此类推,直到所有的文件都被编号。可以编写一个简单的脚本来实现这一目标,这里是一个基本的Java示例:
```java
import java.io.File;
import java.util.ArrayList;
import java.util.Collections;
public class MergeFiles {
public static void main(String[] args) {
ArrayList<String> files = new ArrayList<>();
mergeFilesFromDirectory("dir1/", files);
mergeFilesFromDirectory("dir2/", files);
Collections.sort(files);
for (int i = 1; i <= files.size(); i++) {
System.out.println("File " + i + ": " + files.get(i - 1));
}
}
private static void mergeFilesFromDirectory(String directory, ArrayList<String> files) {
File dir = new File(directory);
if (dir.isDirectory()) {
for (File file : dir.listFiles()) {
if (file.isFile()) {
files.add(file.getName());
}
}
}
}
}
```
这段代码首先初始化一个空的ArrayList来存储文件名,然后分别从两个指定的目录中读取所有文件名,并添加到列表中。由于文件名未排序,我们使用`Collections.sort()`对它们进行排序。最后,逐个输出排序后的文件名。
如果你需要更复杂的逻辑(例如,如果两个同名文件在同一目录下的优先级更高),那么你需要对合并过程做一些调整。
阅读全文