有没有办法从 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包,不能这样写。在这种情况下,您应该将文件存储在外部(而不是资源中)。
我目前正在阅读一个文件:
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包,不能这样写。在这种情况下,您应该将文件存储在外部(而不是资源中)。