当使用FileOutputStream将对象输出到可运行jar内的文件夹时,您将获得FileNotFoundException
将抛出FileNotFoundException的示例代码(无论目录或文件是否存在):
ObjectOutputStream wf = new ObjectOutputStream(new FileOutputStream("res/followers.txt"));
wf.writeObject(crntFollowers);
wf.flush();
wf.close();
writeSettingFollowers(crntFollowers.size());
但是,如果在不向路径添加“文件夹”的情况下使用相同的代码,则不会获得FileNotFoundException,但根本不会创建文件
不会抛出FileNotFoundException的示例代码:
ObjectOutputStream wf = new ObjectOutputStream(new FileOutputStream("followers.txt"));
wf.writeObject(crntFollowers);
wf.flush();
wf.close();
writeSettingFollowers(crntFollowers.size());
两个代码片段在Eclipse中编译时都有效,但不是作为一个可运行的jar,我的猜测是由于路径不同而我不知道如何修复它。
那么如何在不获取FileNotFoundException并且文件也被创建的情况下将一个Object覆盖到一个可运行的jar文件夹中的文件夹?
答案 0 :(得分:0)
你错了。
FileOutputStream
或其他任何形式或形式在正在运行的JAR中创建文件。