gpt4 book ai didi

java - 拥有仅使用 Java 内存的自定义文件实现的最简单方法是什么

转载 作者:行者123 更新时间:2023-11-29 04:04:40 28 4
gpt4 key购买 nike

我有一个代码库,它广泛使用文件来表示单个数据对象。我重构了代码,使数据对象现在是一个显式 java 对象,主要隐藏了与底层文件系统的交互。但是,我们使用一些外部工具(如 Weka)来读写文件。

理想情况下,我希望有一个 File 的子类,我可以将其传递给由内存中的字节数组支持的这些其他库——用于读取或写入。

我的谷歌搜索找到了内存映射文件,但这不是我遇到的问题,因为我不希望文件系统上有任何实际文件。是否已经有任何解决方案,或者我应该自己将 File 子类化并覆盖所有引用真实文件系统的方法?

最佳答案

这通常就是为什么除非确实有必要,否则永远不要编写获取文件的方法。您的库不提供采用任意 InputStream 的方法吗?在这种情况下,传递 ByteArrayInputStream 或任何从内存读取的输入流是微不足道的。

覆盖 File 的问题在于您不太可能以对您有帮助的方式覆盖它。例如,如果库使用 FileInputStream 打开它,那么此时字节的来源实际上是由 FileInputStream 实现控制的,而不是由您的文件控制的。

关于java - 拥有仅使用 Java 内存的自定义文件实现的最简单方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/804814/

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