关于将多个文件缝合为一个文件

  • 本文关键字:文件 一个 java file
  • 更新时间 :
  • 英文 :


我处理查询延迟,并且有一个要求,即我有几个包含数据的文件。我想将这些数据聚合到一个文件中。我使用了一种简单的技术,打开每个文件并收集全局文件中的所有数据。我对所有文件都这样做,但这需要时间。有没有一种方法可以将一个文件的末尾缝合到另一个文件,并创建一个包含所有数据的大文件。我想很多人以前可能都遇到过这个问题。有人能帮忙吗?

我想您目前正在手工打开和追加;否则,我不知道为什么聚合数据需要很长时间,尤其是因为您使用多个几个来描述文件数量,这似乎表明这不是一个巨大的数字。

因此,我认为你只是在寻找一种自动为你打开和追加的方法。在这种情况下,您可以使用类似于下面的方法。请注意,这会创建输出文件或覆盖它(如果它已经存在),然后附加所有指定文件的内容。如果您想多次调用该方法并将其追加到同一个文件,而不是覆盖现有文件,那么另一种选择是使用带有true的FileWriter作为其构造函数的第二个参数,以便它将追加到现有文件。

void aggregateFiles(List<String> fileNames, String outputFile) {
    PrintWriter writer = null;
    try {
        writer = new PrintWriter(outputFile);
        for(String fileName : fileNames) {
            Path path = Paths.get(fileName);
            String fileContents = new String(Files.readAllBytes(path));
            writer.println(fileContents);
        }
    } catch(IOException e) {
        // Handle IOException
    } finally {
        if(writer != null) writer.close();
    }
}
List<String> files = new ArrayList<>();
files.add("f1.txt");
files.add("someDir/f2.txt");
files.add("f3.txt");
aggregateFiles(files, "output.txt");

相关内容

  • 没有找到相关文章

最新更新