jar上的FileInput / OutputStream上的NullPointerException

时间:2016-05-29 08:12:57

标签: java netbeans inputstream

我正在处理应用程序,这会在工作时给我带来很多问题

file1 = "src\\sga\\facturation\\data.ser";
FileInputStream fis = new FileInputrStream(file1);//this works fine on NetBeans

我试过

file1 = "data.ser";
InputStream fis = ClassLoader.getSystemClassLoader().getResourceAsStream(file1);

但没有;我也尝试改变了剧目的路径,它告诉我文件未找到,我甚至试图强制在C:\ Folder中的剧目;我放我的文件但没有任何作用。 我试图删除这些行,以查看FileOutputStream是否有效,但事实并非如此:( 这里适用于NetBeans

 ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(file2));

这是我的剧目

enter image description here

感谢您的帮助 相关的帖子从来没有告诉我一个有用的解决方案,所以如果你的注意力是在开始时放弃-1,那么它就离开了!

2 个答案:

答案 0 :(得分:1)

通常你会加载一个位于你的jar中的文件:InputStream is = this.getClass().getResourceAsStream("my/path/to.file");但你必须要小心,如果jar或jar所在的目录有空格,它有时会出错。我记得像一年前一样尝试这个。尝试使用jar及其重命名的文件。

他们可能也是dir权限的问题,尝试像管理员一样运行你的jar

答案 1 :(得分:0)

FileInputStream根据当前工作目录解析相对路径。在IDE中,工作目录可能与独立程序的目录不同。改为使用绝对路径。