动态获取打包Jar后的路径信息
来源:互联网 发布:vm安装linux虚拟机 编辑:程序博客网 时间:2024/05/18 05:41
做了几个小软件需要用到打包后jar的路径,找了些日子终于到了可行方法...
下面专门封装了一个类来处理:
必须要打包成jar后才能正确获取相关路径信息,下面写了个测试类:
将上面一起打包成path.jar后放到桌面运行结果:
无论path.jar放到任何地方都能得到正确的路径信息 (*^__^*) 嘻嘻……
主要靠下面两行代码实现
class.getProtectionDomain().getCodeSource().getLocation().getFile();这行作用是获取当前的绝对路径信息
java.net.URLDecoder.decode(path, "UTF-8");此行是将path中的空格和中文“乱码”转换正确回显
对此可以为自己做的软件“注册”随系统开机启动了...
下面专门封装了一个类来处理:
- import java.io.File;
- /**
- * 获取打包后jar的路径信息
- * @author Administrator
- * 2011-01-16 13:53:12
- */
- public class JarTool {
- //获取jar绝对路径
- public static String getJarPath(){
- File file = getFile();
- if(file==null)return null;
- return file.getAbsolutePath();
- }
- //获取jar目录
- public static String getJarDir() {
- File file = getFile();
- if(file==null)return null;
- return getFile().getParent();
- }
- //获取jar包名
- public static String getJarName() {
- File file = getFile();
- if(file==null)return null;
- return getFile().getName();
- }
- private static File getFile() {
- //关键是这行...
- String path = JarTool.class.getProtectionDomain().getCodeSource()
- .getLocation().getFile();
- try{
- path = java.net.URLDecoder.decode(path, "UTF-8");//转换处理中文及空格
- }catch (java.io.UnsupportedEncodingException e){
- return null;
- }
- return new File(path);
- }
- }
必须要打包成jar后才能正确获取相关路径信息,下面写了个测试类:
- import javax.swing.JFrame;
- import javax.swing.JTextArea;
- public class TestFrame extends JFrame{
- public TestFrame() {
- JTextArea ta = new JTextArea();
- ta.setEditable(false);
- ta.append("name: "+JarTool.getJarName()+"\n");
- ta.append("dir: "+JarTool.getJarDir()+"\n");
- ta.append("path: "+JarTool.getJarPath()+"\n");
- add(ta);
- pack();
- setTitle("动态获取Jar路径信息");
- setVisible(true);
- setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- }
- public static void main(String[] args) {
- new TestFrame();
- }
- }
将上面一起打包成path.jar后放到桌面运行结果:
无论path.jar放到任何地方都能得到正确的路径信息 (*^__^*) 嘻嘻……
主要靠下面两行代码实现
class.getProtectionDomain().getCodeSource().getLocation().getFile();这行作用是获取当前的绝对路径信息
java.net.URLDecoder.decode(path, "UTF-8");此行是将path中的空格和中文“乱码”转换正确回显
对此可以为自己做的软件“注册”随系统开机启动了...
0 0
- 动态获取打包Jar后的路径信息
- 打包成Jar后相对路径的获取
- jar文件打包成exe后如何动态获取工程路径?
- 动态获取jar文件的路径
- java 获取打包成exe后的exe程序路径
- 获取jar的路径
- 获取打包后的apk版本信息方法
- 打包jar后能获取jar包所在文件夹的代码
- 获取JAR包的路径
- 打包jar文件的资源路径问题
- jpa打包jar后,运行的问题
- Jar打包后出现问题的解决方案
- 解决项目打jar包后无法获取配置文件的路径问题
- 类项目中的配置文件app.config在打包安装后的信息获取的问题
- 类项目中的配置文件app.config在打包安装后的信息获取的问题
- 类项目中的配置文件app.config在打包安装后的信息获取的问题
- java打包后的路径问题
- 利用反射动态获取当前工程下的文件路径_并打成jar包
- 从代码的视角看DOS时代的通配符
- python之路--Django
- 40. Combination Sum II
- 思维导图|心智图|脑图 学习小结
- Handler消息机制之基础代码运用篇(3)
- 动态获取打包Jar后的路径信息
- 216. Combination Sum III
- Handler机制在秒表中的运用
- SlidingPaneLayout、Navigation Drawer、drawerlayout
- Bullet物理引擎在OpenGL中的应用
- 我是刘杰,欢迎参观我的博客
- hdu1061(快速幂取余)
- Android ImageSlider实现广告轮播
- json-schema-core(liuhailong翻译)