gpt4 book ai didi

Java IO 写入时出错,但读取时不出错

转载 作者:行者123 更新时间:2023-12-02 05:03:30 24 4
gpt4 key购买 nike

所以问题是我尝试读取 .jar 中打包的配置文件,该文件工作正常,但在写入文件时找不到文件,但他们使用相同的文件

getClass().getResource(Path);

它似乎只适用于输入流。

这是我的 IO 类的所有代码。

package com;

公共(public)类 IO {

public boolean CheckStream () {
String LineRead;

try {

InputStream IS = getClass().getResourceAsStream("Config.txt");

InputStreamReader ISR = new InputStreamReader (IS,Charset.forName("UTf-8"));
BufferedReader BR = new BufferedReader(ISR);

if ((LineRead = BR.readLine()) != null) {
BR.close();
return true;
}

IS.close();

} catch (IOException e) {
e.printStackTrace();
}

return false;
}

public void Write (String Path, String [] ThingsToWrite) throws FileNotFoundException {
OutputStream Out = new FileOutputStream (getClass().getResource(Path).getPath());
PrintStream PS = new PrintStream (Out);

for (int i = 0; i < ThingsToWrite.length; i ++) {
PS.print(ThingsToWrite[i]);
}

PS.close();
}

}

非常感谢任何帮助,谢谢。

最佳答案

您不能只写入 jar 文件中的文件 - 它不是常规意义上的文件。

虽然您可以解压整个jar文件,写入新内容,然后再次打包,但最好重新设计,这样您就不需要需要更新 jar 文件。

例如,您可能有一个常规本地文件(如果存在),则使用该文件,但否则会回退到从 jar 文件中读取。那么您只需写入到本地文件即可。

关于Java IO 写入时出错,但读取时不出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28023420/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com