java - 使用单个流读取目录中的所有目标文件

标签 java file object io stream

如果我有一个充满不同对象文件的目录,有没有办法可以将它们输入到我的应用程序中,而无需每次都打开新的流?我目前正在使用 ObjectInputStream,但我不介意使用其他形式的 IO。

例如,如果我将用户作为对象直接存储到硬盘上(每个用户都有自己的文件:name.user),有没有办法可以使用相同的方法将它们全部加载回来溪流?或者不可能了解每个单独的文件如何需要一个新的 File 对象?有办法解决这个问题吗?

最佳答案

每个文件都需要在幕后有自己的流;没有办法解决这个问题。但这并不能阻止您创建自己的 InputStream 来为您管理此操作,然后允许您从一个流中读取所有内容。

这个想法是,当您尝试从 CompoundObjectInputStream 或其他内容读取时,它会查看是否还有尚未处理的文件,如果有,则使用打开一个另一个流,并传递数据。当到达该目录中不再有文件时,CompoundObjectInputStream 指示流结束。

关于java - 使用单个流读取目录中的所有目标文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26143782/

相关文章:

bash - 如何使用 find 和 Perl 列出文件?

java - XML 到 Java 对象

java - 如何解析特定文本?

java - 如何获取在 Java 中从给定方法调用的另一个类中定义的方法列表

Java:调整轮廓粗细

java - Vaadin 6 上传组件 : how to terminate file upload proccess without saving wrong file on a server

sql - 如何停止 Sql Server 的用户实例? (Sql Express 用户实例数据库文件被锁定,即使在停止 Sql Express 服务后)

Java : running time of big file inputs

javascript - 返回深层属性的值(如果存在)

c++ - 结构和对象创建