读取jar中资源文件的问题
为什么80%的码农都做不了架构师?>>>
当你把一个java写的程序打包为jar的时候,请务必注意你读取资源文件的方式。
一般我们为了方便读取资源文件,在一个类中定义一个基本路径
base_path=ClassName.class.getResource("/").getPath();
变量,在其他的类中想读取资源文件的时候,直接用这个变量加上资源的相对路径,这样当 然在ide里面运行是没有任何问题的,但是一旦打包成jar后就无法运行,原因是无法读取资源文件,因为jar的url的规则是这样的:file:/C: /fat.jar!images/img.jpg是这样的,这个和File的路径规则不一样,所以我们new 一个File当然不会成功了哦,在网上找了许久也没找到什么好点的办法,唯一知道的就是
ClassName.class .getResourceAsStream("/images/trayIcon.jpg")这样具体到某一个文件上去,得到一个流。那么这样在jar中是没任何问题的。
这个问题困扰了我很久,以前也遇到过,昨晚又遇到了,终于找到原因所在了,杯具++啊
大牛们看到了,千万别笑话我,如果有更好的办法请告知小弟,万分感谢!
发觉java真的不适合开发桌面应用程序啊。
转载于:https://my.oschina.net/lazyp/blog/86986
读取jar中资源文件的问题相关推荐
- java resources 路径_Java工程读取resources中资源文件路径问题
正常在Java工程中读取某路径下的文件时,可以采用绝对路径和相对路径,绝对路径没什么好说的,相对路径,即相对于当前类的路径.在本地工程和服务器中读取文件的方式有所不同,以下图配置文件为例. 本地读取资 ...
- java 如何读取jar包内资源文件_【解惑】深入jar包:从jar包中读取资源文件
我们常常在代码中读取一些资源文件(比如图片,音乐,文本等等).在单独运行的时候这些简单的处理当然不会有问题.但是,如果我们把代码打成一个jar包以后,即使将资源文件一并打包,这些东西也找不出来了.看看 ...
- [转]VB中资源文件.res的使用方法详解
在几乎所有的Windows应用程序中都拥有资源文件,这些文件定义使用应用程序将要显示很多的用户界面元素,以及提供程序所需要的各种类型数据的存储场所.资源文件在VC应用程序中应用十分广泛,在VB应用中却 ...
- Java中资源文件获取源码浅析
Java中资源文件获取源码浅析 文章目录 Java中资源文件获取源码浅析 JDK11 Class.getResource(String) Class.getClassLoader().getResou ...
- Delphi中资源文件使用详解(转载)
Delphi 中资源文件使用详解 原文出处:http://blog.51cto.com/ 一.编写 RC 脚本文本 用记事本或其它文本编辑器编写一个扩展名为 ".rc" 的文件.格 ...
- Delphi中资源文件使用详解
Delphi中资源文件使用详解<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" ...
- Delphi 中资源文件使用详解
Delphi 中资源文件使用详解 第一篇文章: <Dephi5中资源文件的创建和使用> 几乎每个Windows应用程序都使用图标.图片.光标等资源.资源是程序的一部分,但是它是不可执行代码 ...
- Delphi编程中资源文件的应用
Delphi编程中资源文件的应用 2008-02-03 14:08Dephi中资源文件的应用 /转自 http://chamlly.spaces.live.com/blog/cns!548f73d87 ...
- Java项目中资源文件查找问题
1. 问题的提出 在学习JDBC连接时,希望采用配置文件存储信息,并在代码中读取配置文件的方式来进行驱动的注册和连接的建立.所以采用以下代码 public void connection(){try{ ...
- 读取jar包资源代码赏析
2019独角兽企业重金招聘Python工程师标准>>> 该代码来自jfinal engine.读取jar包内代码通常通过classLoader获取 // // Source code ...
最新文章
- react-native(五)生成App
- Valgrind 使用简单说明
- 计算机组装维修中级试题,计算机维修工中级理论知识试卷.doc
- 什么是SFP光模块?光模块知识介绍!
- php class使用方法,php的类使用方法问题
- JavaWeb调用python脚本(可传参)
- 手把手带你写Node.JS版本小游戏
- 微博持续开展不友善言论治理专项 重点整治网络暴力行为
- 网络 传输层 | UDP协议与TCP协议详解(三次握手及四次挥手、滑动窗口、拥塞控制)
- 力扣 每日一题 丢失的数字
- Spring 注解 @Controller,@Service,@Repository,@Component,重定向 与 服务端跳转
- <<游戏设计艺术>>笔记
- matlab制作数字滤波器(带通滤波器)
- python oserror 22_Python3 (Win10) 打开文件报错OSError: [Errno 22]
- Python就业指导
- 数组之concat注意事项-不更改原数组
- Python-有趣的freegames
- 也说说互联网产品开发中的设计
- Intel和AMD处理器各有什么特点?该如何选择?
- git 远程仓库时报错SSL certificate problem: unable to get local issuer certificate(git版本与Let‘s Encrypt的证书导致)
热门文章
- linux librtmp 编译,在linux系统下安装python librtmp包的实现方法
- python设置执行服务环境变量_Python执行.sh脚本cataline环境变量配置
- 基于 EntityFramework、Autofac 的 UnitOfWork 框架(一)
- Mysql 8.0 | #08004Client does not support authentication protocol requested by server
- CentOS6 x86_64最小化安装优化脚本
- swift基础知识一
- DiscuzX模板制作-主题列表页_左边栏制作_V1
- jsp自定义标签库打包步骤
- C# windows服务程序中的Timer控件的问题
- 【Docker】总集篇