写入从 getResourceAsStream() 返回的文件流
2022-09-01 18:42:17
我正在从中得到一个a,并且我设法通过将返回的传递给.InputStream
getResourceAsStream()
InputStream
BufferedReader
有什么方法可以写入文件吗?
我正在从中得到一个a,并且我设法通过将返回的传递给.InputStream
getResourceAsStream()
InputStream
BufferedReader
有什么方法可以写入文件吗?
不直接,否 - 旨在返回对只读资源的视图。getResourceAsStream()
但是,如果您知道资源是可写文件,则可以跳过一些箍,例如
URL resourceUrl = getClass().getResource(path);
File file = new File(resourceUrl.toURI());
OutputStream output = new FileOutputStream(file);
这应该在unix风格的系统上很好地工作,但是Windows文件路径可能会造成这种消化不良。尝试一下并发现,但是,您可能没问题。
有什么方法可以写入文件吗?
谁说这是一个文件?关键是要把它抽象出来,因为它很可能不是真的。具体来说,资源可能位于JAR文件中,可以从HTTP服务器读取,或者实际上是实现者可以想象的任何东西。getResourceAsStream()
ClassLoader
你真的不应该想写到一个资源,这是你的程序分发的一部分。在大多数情况下,从概念上讲,这是错误的做法。设置或特定于用户的数据应转到首选项 API 或用户的主目录。