getresourceasstream 路径_Java 获取资源文件路径
1 问题描述
通过源码运行时,一般使用如下方式读取资源文件:
String str = "1.jpg";
资源文件与源码文件放在同一目录下,或者拥有同一父级目录:
String str = "a/b/1.jpg";
这样直接编译运行没有问题,但是打成JAR包后会读取不了,直接抛空指针异常。
2 解决办法
使用URL
或者InputStream
进行读取:
URL url = getClass().getClassLoader().getResource("a/b/1.jpg");
InputStream inputStream = getClass().getClassLoader().getResourceAsStream("a/b/1.png");
注意不能在路径前加/
:
URL url = getClass().getClassLoader().getResource("/a/b/1.jpg");
InputStream inputStream = getClass().getClassLoader().getResourceAsStream("/a/b/1.png");
这样读取出来是null
。 getClass().getClassLoader().getResource()
从源码运行的URL
如下:
从JAR包运行的URL
如下:
测试系统Win10,从源码运行的话有一个file:
前缀,而从JAR包运行有一个jar:file:
前缀。 前缀一般没有影响,一般都能直接通过URL
获取文件,比如在Swing
的JFrame
中设置图标:
mainFrame.setIconImage(new ImageIcon(getClass().getClassLoader().getResource("image/icon.png")).getImage());
如果只能通过String
处理路径,需要把前缀file:
或者jar:file:
去掉,JAR的话可以结合JarFile
类读取文件。
getresourceasstream 路径_Java 获取资源文件路径相关推荐
- java get image获取根路径_Java 获取资源文件路径
1 问题描述 通过源码运行时,一般使用如下方式读取资源文件: String str = "1.jpg"; 资源文件与源码文件放在同一目录下,或者拥有同一父级目录: String s ...
- java 获取包路径_java获取java文件路径的四种方法
java获取java文件路径的四种方法 发布时间:2020-04-17 11:03:45 来源:亿速云 阅读:750 作者:小新 今天小编给大家分享的是java获取java文件路径的四种方法,很多人都 ...
- java 获取文件版本号_Java 获取资源文件路径
1 问题描述 通过源码运行时,一般使用如下方式读取资源文件: String str = "1.jpg"; 资源文件与源码文件放在同一目录下,或者拥有同一父级目录: String s ...
- python获取某文件路径_Python获取当前文件路径
一. Python 获取当前文件路径方法 2. sys.path[0] 获取文件当前工作目录路径(绝对路径) sys.argv[0]|获得模块所在的路径(由系统决定是否是全名) 若显示调用python ...
- Java中获取资源文件路径
Java路径 Java中使用的路径,分为两种:绝对路径和相对路径.具体而言,又分为四种: 一.URI形式的绝对资源路径 如:file:/D:/java/eclipse32/workspace/jbpm ...
- java 访问路径_java获取项目访问路径的相关方法
java获取项目访问路径的相关方法 刘振兴 代码分享 2016年02月11日 6292 暂无评论 在jsp和class文件中调用的相对路径不同. 在jsp里,根目录是WebRoot 在class文件中 ...
- java 访问路径_java获取项目访问路径的方法
在jsp和class文件中调用的相对路径不同. 在jsp里,根目录是WebRoot 在class文件中,例如: WebRoot/WEB-INF/classes 当然你也可以用System.getPro ...
- java获取绝对路径_JAVA获取项目绝对路径
另,Class类还有一个getResourceAsStream方法,记得以前有个项目要读取在同一个包内的一个xml,就用的这个. 1.如何获得当前文件路径 常用: (1).Test.class.get ...
- java linux路径_Java,Linux文件路径
斜杠和反斜杠 正斜杠,又称左斜杠,符号是"/": 反斜杠,也称右斜杠,符号是"\". 在Unix/Linux中,路径的分隔采用正斜"/",比 ...
最新文章
- C#如何生成缩略图、水印
- 技术架构演进|0到千万DAU,微淘如何走过?
- 如何用更短时间写出高质量的博客文章经验分享
- Ablation study 是什么意思?
- android 多图片优化工具,总结Android App内存优化之图片优化
- node的里html中写script报错,内置对象 · TypeScript 入门教程
- 【RAC】 RAC For W2K8R2 安装--创建ASM磁盘组(六)
- html css调用自定义字体,html css使用特殊自定义字体避免侵权
- 专利学习——常用必备知识
- 提示参数错误html页面,网页上有错误怎么修复提示参数错误
- 虚拟机Ubuntu18简易配置三(安装搜狗输入法)
- compass watch出错
- 上位机软件定制开发,如何选择服务商
- matlab条件统计个数,matlab计算条件概率
- php中通快递下单 代码,中通开放平台 预约下单接口php
- 单机版pc端车牌识别
- 架构师的工作都干些什么?!想做架构师必看!
- 危险进程集粹(附说明)
- Java异常处理流程
- 百度权重怎么查询?哪里可以查询百度权重?
热门文章
- 关于练习美剧听写中碰到的问题
- python之decorator理解
- 一个交易号的生成和还原过程
- ASP.NET 状态视图概览
- 虚拟机可以识别usb无线网卡,但一直提示设备正在运行中--解决方法
- java.net.SocketException: Write failed: Broken pipe异常分析
- YouTube推荐系统算法梳理
- 【报告分享】5G时代新型基础设施建设白皮书.pdf
- Transformers Assemble(PART IV)
- PHP判断pc和移动端跳转,JS判断是PC还是移动端浏览器,并根据不同的终端跳转到不同的网址...