我正在处理应用程序,这会在工作时给我带来很多问题
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));
这是我的剧目
感谢您的帮助 相关的帖子从来没有告诉我一个有用的解决方案,所以如果你的注意力是在开始时放弃-1,那么它就离开了!
答案 0 :(得分:1)
通常你会加载一个位于你的jar中的文件:InputStream is = this.getClass().getResourceAsStream("my/path/to.file");
但你必须要小心,如果jar或jar所在的目录有空格,它有时会出错。我记得像一年前一样尝试这个。尝试使用jar及其重命名的文件。
他们可能也是dir权限的问题,尝试像管理员一样运行你的jar
答案 1 :(得分:0)
FileInputStream根据当前工作目录解析相对路径。在IDE中,工作目录可能与独立程序的目录不同。改为使用绝对路径。