写入从getResourceAsStream()返回的文件流
我从getResourceAsStream()
获取一个InputStream
,我设法通过将返回的InputStream
传递给BufferedReader
来读取该文件。
有什么方法可以写入文件吗?
不直接,no – getResourceAsStream()
旨在返回只读资源的视图。
但是,如果你知道资源是一个可写文件,你可以跳过一些箍,例如
URL resourceUrl = getClass().getResource(path); File file = new File(resourceUrl.toURI()); OutputStream output = new FileOutputStream(file);
这应该适用于unix风格的系统,但Windows文件路径可能会导致这种消化不良。 尝试一下,然后找出答案,你可能没问题。
有什么方法可以写入文件吗?
谁说这是档案? getResourceAsStream()
是抽象它,因为它可能不是真的。 具体而言,资源可以位于JAR文件中,可以从HTTP服务器读取,或者实际上是ClassLoader
的实现者可以想象的任何内容。
你真的不应该写一个属于你的程序发行版的资源。 在大多数情况下,这在概念上是错误的。 设置或用户特定数据应该转到Preferences API或用户的主目录。