java - Java 中打开文件的数量是否有实际限制?

标签 java sorting

我在 Java 应用程序中构建了一些文件排序功能,它旨在对大于 20GB 的文件进行排序。一般的做法是分块读取文件,在内存中对每个 block 进行排序,然后将其写入自己的临时排序文件。在第二遍中,我同时打开所有 block 文件并将它们编织在一起成为最终的排序文件。

我想知道在同时打开和读取大量文件时是否应该注意任何实际限制?

在我自己的机器 (Mac OS X) 上,我已经能够毫无问题地读取 >250 个文件。也许有人知道可能适用于其他平台的限制?

感谢您的宝贵时间。

最佳答案

尽管 Java 中没有具体限制,但操作系统确实对每个进程打开的文件数施加了限制。

在 Linux 上,您可以通过设置更改此限制

ulimit -n 最大打开文件数

关于java - Java 中打开文件的数量是否有实际限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3086583/

相关文章:

java - Android - Java空指针异常

java - 如何将值加载到 JTable 中,以便它在打开表单时显示以前的值?

java - 比较两种选择排序方法

Java 1.8 Diffie Hellman Group 14 返回 InvalidAlgorithmException

java - IntelliJ GUI设计器缺少助记符

angular - 如何对 Angular 7 Material Data 表中的日期进行排序?

javascript - JQuery - 如何将 class() 添加到与属性值匹配的元素

r - 比较两列以匹配值并并排对齐

ios - 如何根据不同 NSArray 中的相同对象顺序将 NSArray 项目分组?

excel - 使用宏对表格进行排序