java - 在 Java 中连接多个 .txt 文件

标签 java concatenation

<分区>

我有一些 .txt 文件。我想将它们连接起来并生成一个文本文件。
我将如何用 Java 实现?


情况如下

file1.txt file2.txt 

将结果拼接成

file3.txt

file1.txt内容后面是 file2.txt

最佳答案

使用 Apache Commons IO

您可以使用 Apache Commons IO图书馆。这有 FileUtils类。

// Files to read
File file1 = new File("file1.txt");
File file2 = new File("file2.txt");

// File to write
File file3 = new File("file3.txt");

// Read the file as string
String file1Str = FileUtils.readFileToString(file1);
String file2Str = FileUtils.readFileToString(file2);

// Write the file
FileUtils.write(file3, file1Str);
FileUtils.write(file3, file2Str, true); // true for append

此类中还有其他方法可以帮助以更优化的方式完成任务(例如使用列表)。

使用Java 7+

如果您使用的是 Java 7+

public static void main(String[] args) throws Exception {
    // Input files
    List<Path> inputs = Arrays.asList(
            Paths.get("file1.txt"),
            Paths.get("file2.txt")
    );

    // Output file
    Path output = Paths.get("file3.txt");

    // Charset for read and write
    Charset charset = StandardCharsets.UTF_8;

    // Join files (lines)
    for (Path path : inputs) {
        List<String> lines = Files.readAllLines(path, charset);
        Files.write(output, lines, charset, StandardOpenOption.CREATE,
                StandardOpenOption.APPEND);
    }
}

关于java - 在 Java 中连接多个 .txt 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10675450/

相关文章:

java - Java3D 的替代品

java - 需要帮助在我的应用程序中使用 java 下载文件,它尝试但很快就消失了

MATLAB 连接维度不等的矩阵

c++ - ## 宏参数连接没有像我预期的那样工作

mysql - 如果列为空,如何停止使用 CONCAT_WS 添加逗号

javascript - 咕噜连接 : Use file instructions a la Codekit

java - 获取 Aspect 中的目标对象并调用目标对象上的另一个方法

java - Websphere 8.5.0.2 抛出不兼容的 java 版本

java - 使用进度条的问题

python - 使用 Pandas 添加来自不同表的属性