在耗尽互联网寻找在正在运行的JAR文件中编写数据流的正确方法之后,我不知道如何获取数据流(比如字符串)并输出到*.txt
*.jar
旁边的文件。这是我的写作尝试:
InputStream stream = new ByteArrayInputStream("some string".getBytes("UTF-8"));
OutputStream resStreamOut = new FileOutputStream(new File("/dir-next-to-jar/some.txt"));
int readBytes;
byte[] buffer = "some string".getBytes();
while ((readBytes = stream.read(buffer)) > 0) {
resStreamOut.write(buffer, 0, readBytes);
}
This是我已经成功将JAR旁边的本地文件加载到JAR中的方式:
InputStream stream = ThisClassName.class.getClass().getResourceAsStream("/dir-next-to-jar/some.txt");
那么,如何将新数据写入我加载到JAR流中的同一文件?
似乎明显的解决方案是反转我将*.text
文件加载到JAR中的操作,但事实证明这是不可能的。
注意:我在这里使用String
作为感兴趣的数据类型,但实际上,我有兴趣从JSONObject
和BufferedImage
写出来JAR到文件。
请帮助!!!
答案 0 :(得分:0)
如果您将数据作为String,那么如何使用Apache的FileUtils: