gpt4 book ai didi

java - 如何同时处理多个文件?

转载 作者:行者123 更新时间:2023-11-30 04:59:09 25 4
gpt4 key购买 nike

我有一个场景,网络存档文件 (warc) 被爬网程序定期删除到不同的目录中。每个warc 文件内部由数千个HTML 文件组成。

现在,我需要构建一个框架来有效地处理这些文件。我知道 Java 在 I/O 并行处理方面无法扩展。我的想法是有一个监视线程来扫描这个目录,选择文件名并放入执行器服务或一些Java阻塞队列中。在执行器服务下监听的一堆工作线程(可能是少量的 I/O 问题)将读取文件,读取其中的 HTML 文件并进行相应的处理。这是为了确保线程不会争夺同一个文件。

就性能和可扩展性而言,这是正确的方法吗?另外,文件处理后如何处理?理想情况下,应该移动或标记文件,以便线程不会再次拾取它们。这可以通过 Future 对象来处理吗?

最佳答案

在最新版本的 Java(我相信从 1.5 开始)中,已经内置了文件更改通知服务作为 native io 库的一部分。您可能想先检查一下,而不是自己去。请参阅here

关于java - 如何同时处理多个文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7523816/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com