有没有办法从 InputStream 获取文件

Is there a way to get a file from InputStream

我目前正在阅读一个文件:

InputStream inputStream = MyClass.class.getClassLoader().getResourceAsStream(FILE);

有什么方法可以从这个 InputStream 中获取文件,以便我以后可以写入它。 或者是否可以将 InputStream 转换为指向完全相同文件的 OutputStream? 我发现 getResourceAsStream() 对于 OutputStream 不存在。

你可以用

File file = new File(MyClass.class.getResource(FILE).toURI());
FileOutputStream stream = new FileOutputStream(file);

它将在 IDE 或如果您的应用程序是网络应用程序 (war) 中运行。 但是如果你写的是jar app,你build的时候就不行了,因为文件会打jar包,不能这样写。在这种情况下,您应该将文件存储在外部(而不是资源中)。