博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java依赖的外部文件路径的获取
阅读量:5077 次
发布时间:2019-06-12

本文共 1102 字,大约阅读时间需要 3 分钟。

在开发阶段一直使用以下方式调试没有问题:

String path = KStream104.class.getResource("/").getFile().toString();File database = new File(path + Constants.geoIPFile);

但是,打包编译后,放到linux环境下,发现报空指针错误,这里的getResource("/")不再起作用了,并且返回值为null。

后面采用了下面的方式:

static {        String path = null;        try {            URL url = KStream104.class.getResource("/");                                    //获取当前用户的绝对路径            String userdir = System.getProperty("user.dir");            if(url!=null){  // 先判断url                path = url.getFile();            }             else if(StringUtils.isNotBlank(userdir)){  //再判断userdir                path = userdir.endsWith("/") ? userdir : userdir + "/";            } else {   //否则为空                path = "";            }            System.out.println("path:" + path);            log.info(path + Constants.geoIPFile);            File database = new File(path + Constants.geoIPFile);            reader = new DatabaseReader.Builder(database).build();                    } catch (IOException e) {            log.error(e.getMessage());        }    }

转载于:https://www.cnblogs.com/30go/p/8891180.html

你可能感兴趣的文章
CSS之不常用但重要的样式总结
查看>>
Python编译错误总结
查看>>
URL编码与解码
查看>>
日常开发时遇到的一些坑(三)
查看>>
Eclipse 安装SVN插件
查看>>
深度学习
查看>>
TCP粘包问题及解决方案
查看>>
构建之法阅读笔记02
查看>>
添加按钮
查看>>
移动端页面开发适配 rem布局原理
查看>>
Ajax中文乱码问题解决方法(服务器端用servlet)
查看>>
会计电算化常考题目一
查看>>
阿里云服务器CentOS6.9安装Mysql
查看>>
剑指offer系列6:数值的整数次方
查看>>
js 过滤敏感词
查看>>
poj2752 Seek the Name, Seek the Fame
查看>>
软件开发和软件测试,我该如何选择?(蜗牛学院)
查看>>
基本封装方法
查看>>
bcb ole拖拽功能的实现
查看>>
生活大爆炸之何为光速
查看>>