
Java 打包 成jar 文件后运行程序生成一个txt文件,但它不在jar文件中,而是和jar文件在同一级目录下
这是将数据写入文件的代码publicbooleanwriteIPFile(StringipString){try{Filefile=newFile("IP.txt");F...
这是将数据写入文件的代码
public boolean writeIPFile(String ipString) {
try {
File file = new File("IP.txt");
FileWriter fw = new FileWriter(file);
fw.write(ipString);
fw.flush();
return true;
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return false;
}
}
如果在MyEclipse下的工程里运行,它会在当前工程的目录下生成IP.txt.
可是当我把这个工程打包成jar文件后,它生成的IP.txt文件没有在jar文件中,而是在jar文件所在的同级目录下。比如jar文件在C盘,那么IP.txt文件就在C盘。
我知道,产生这个问题的原因是路径的问题,即在MyEclipse的开发环境里,是以项目目录为根目录的,但脱离IDE后直接运行一堆class文件,则class文件所在目录是根目录,但如果运行打包后的jar文件,则jar文件所在的目录是根目录。所以IP.txt文件才会生成在jar文件的同级目录下。我试着在JDK里寻找能找到jar文件路径的方法,可是没能找到。
现在我想让自动生成的IP.txt文件直接放在可执行的jar文件中,希望高手能帮帮忙。
如果有可能,有时间希望大虾们能给我介绍一下,Java中,文件路径的问题。 展开
public boolean writeIPFile(String ipString) {
try {
File file = new File("IP.txt");
FileWriter fw = new FileWriter(file);
fw.write(ipString);
fw.flush();
return true;
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return false;
}
}
如果在MyEclipse下的工程里运行,它会在当前工程的目录下生成IP.txt.
可是当我把这个工程打包成jar文件后,它生成的IP.txt文件没有在jar文件中,而是在jar文件所在的同级目录下。比如jar文件在C盘,那么IP.txt文件就在C盘。
我知道,产生这个问题的原因是路径的问题,即在MyEclipse的开发环境里,是以项目目录为根目录的,但脱离IDE后直接运行一堆class文件,则class文件所在目录是根目录,但如果运行打包后的jar文件,则jar文件所在的目录是根目录。所以IP.txt文件才会生成在jar文件的同级目录下。我试着在JDK里寻找能找到jar文件路径的方法,可是没能找到。
现在我想让自动生成的IP.txt文件直接放在可执行的jar文件中,希望高手能帮帮忙。
如果有可能,有时间希望大虾们能给我介绍一下,Java中,文件路径的问题。 展开
展开全部
有难度,好像不太现实。可以看看java中相关zip的内容
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询