gpt4 book ai didi

java - 将流转换为路径/文件名而不写入物理磁盘

转载 作者:行者123 更新时间:2023-11-30 08:01:56 26 4
gpt4 key购买 nike

我正在使用专有的 Java API(未公开源代码),该 API 在其接口(interface)之一中定义了一种方法:

Foo.bar(String fileName, String formatName);

此方法的问题在于它需要一个String fileName。我希望有一种方法可以使用 File file 或某种stream 来代替,但这样的方法不存在。反编译 .class 文件显示 API 在内部执行了一个 new File(fileName),但模仿其整个行为过于令人畏惧和危险。

在我的代码中,我创建了一个流,并且我希望能够调用 bar() 而无需先向磁盘写入任何内容(至少不是物理写入)。

有什么方法可以欺骗 Foo.bar() 接受我的流吗?也许通过利用 Java 中的一些虚拟文件系统?

我们在此使用 Java 1.7。

最佳答案

这能满足您的需求吗?

https://docs.oracle.com/javase/8/docs/technotes/guides/io/fsp/filesystemprovider.html

The java.nio.file.spi.FileSystemProvider class allows you to develop a custom file system provider. A custom file system provider is useful in the following situations:

Developing a memory-based or zip-file-based file system

通过扩展类 java.nio.file.spi.FileSystemProvider并重写其方法 newInputStreamnewOutputStream 您应该能够将流作为文件提供。

关于java - 将流转换为路径/文件名而不写入物理磁盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31782957/

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