使用java将某文件夹下所有文本文件合并为同一个文本文件并存放在另一位置,写出完整代码
时间: 2024-12-14 18:20:48 浏览: 5
在Java中,你可以使用`Files`和`Stream` API来实现这个功能。这里是一个简单的示例,假设你要从`src`目录下的所有.txt文件合并到`dst`目录下的`merged.txt`文件:
```java
import java.io.*;
import java.nio.file.*;
import java.util.stream.*;
public class FileMerger {
public static void main(String[] args) {
// 源文件夹路径
String srcDir = "path/to/source/directory";
// 目标文件路径
String dstFile = "path/to/destination/merged.txt";
try {
// 获取源文件夹的所有文本文件
Path srcPath = Paths.get(srcDir);
Stream<Path> txtFiles = Files.walk(srcPath)
.filter(Files::isRegularFile)
.filter(path -> path.toString().endsWith(".txt"));
// 创建目标文件如果不存在
Files.createDirectories(dstFile.getParent());
BufferedWriter writer = new BufferedWriter(new FileWriter(dstFile));
// 遍历每个文本文件,读取内容并写入到目标文件
txtFiles.forEach(file -> {
try (BufferedReader reader = Files.newBufferedReader(file)) {
String line;
while ((line = reader.readLine()) != null) {
writer.write(line);
writer.newLine();
}
}
});
writer.close();
System.out.println("合并完成,结果已保存至" + dstFile);
} catch (IOException e) {
System.err.println("发生错误: " + e.getMessage());
}
}
}
```
请替换上述代码中的`srcDir`和`dstFile`为你实际的文件夹路径。运行此程序后,它会将指定文件夹内的所有`.txt`文件的内容合并到一个新的文本文件中。
阅读全文