如果我有一个充满不同对象文件的目录,有没有办法可以将它们输入到我的应用程序中,而无需每次都打开新的流?我目前正在使用 ObjectInputStream
,但我不介意使用其他形式的 IO。
例如,如果我将用户作为对象直接存储到硬盘上(每个用户都有自己的文件:name.user),有没有办法可以使用相同的方法将它们全部加载回来溪流?或者不可能了解每个单独的文件如何需要一个新的 File
对象?有办法解决这个问题吗?
最佳答案
每个文件都需要在幕后有自己的流;没有办法解决这个问题。但这并不能阻止您创建自己的 InputStream
来为您管理此操作,然后允许您从一个流中读取所有内容。
这个想法是,当您尝试从 CompoundObjectInputStream
或其他内容读取时,它会查看是否还有尚未处理的文件,如果有,则使用打开一个另一个流,并传递数据。当到达该目录中不再有文件时,CompoundObjectInputStream
指示流结束。
关于java - 使用单个流读取目录中的所有目标文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26143782/