可运行的jar包,都会在META-INF\MANIFEST.MF中设置Main-Class。
那么如何在jar包中读取其中的某个文件呢?
注意:是在可运行的jar包中读取该jar包中的文件,也就是说读取jar包中文件的这段代码在该jar包中
TestUrl类内容如下:
import java.io.IOException; import java.io.InputStream; import java.net.MalformedURLException; import java.net.URL; import com.common.util.SystemHWUtil; import com.io.hw.file.util.FileUtils; public class TestUrl { public static final String JAR_META_INF="META-INF"; /** * @param args */ public static void main(String[] args) { // URL url= new // URL("jar:file:/D:/eclipse/workspace/jetty_icserver/jetty_icserver-0.0.1-SNAPSHOT.jar!/contexts"); String jarBasepath=getJarPath("com"); System.out.println(jarBasepath); try { URL url=new URL(jarBasepath+"/com/jn/url/a.txt"); InputStream in= url.openStream(); System.out.println("content:"+FileUtils.getFullContent3(in,SystemHWUtil.CHARSET_UTF)); System.out.println(url); } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } /*** * * @param tag : 必须是jar包根目录下的目录或文件 * @return */ public static String getJarPath(String tag){ if(tag==null){ tag=JAR_META_INF; } URL url = TestUrl.class.getResource("/"+tag); System.out.println("url1:"+url); String urlPath=url.toString();//jar:file:/D:/eclipse/workspace/test_url/target/test_url-0.0.1-SNAPSHOT.jar!/META-INF int index=urlPath.indexOf(".jar!/"+tag); return urlPath.substring(0, index+5); } /*** * * @return */ public static String getJarPath(){ return getJarPath(null); } }
打成jar包之后运行如下:
相关推荐
主要介绍了Java实现从jar包中读取指定文件的方法,涉及java针对jar文件的读取及查找相关操作技巧,需要的朋友可以参考下
项目中,经常把一部分功能独立出来,做一个java project,然后打成jar包供其他项目引用...这时候,如果jar包中需要读取配置文件信息,则很少把该配置打进jar包,因为它不方便修改,更多都是采用jar包读取外部配置文件。
java读取tar.gz压缩文件的jar包
主要介绍了解决SpringBoot jar包中的文件读取问题实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
java读JAR包里的配置文件、java读JAR包里的配置文件
NULL 博文链接:https://konghaibo.iteye.com/blog/430146
通过自定义注解读取Jar包里面的类名、属性名、中文注释以及属性类型所需要的Jar包示范,通过这个Jar包可以将里面的属性名、类名等读出来添加进数据库中
新建一个java project ,将poi.jar包导入,将test.java文件复制到项目里面,在e:盘新建一个Book1.exl文件,里面的内容自己定义,运行CODE,就可以在控制台上看到了。
读取jar包中的图片,文本, 文本会写到控制台,图片会输出到F:盘中
利用swt中的一个获取图片的类SwingResourceManager 来解决将程序打为使用java打包之后,生成的jar包中图片找不着的。这是因为通过class.getResource()方法在IDEA中运行的路径和生成jar包获取的的路径是不同的。打成...
NULL 博文链接:https://iloveblack.iteye.com/blog/1458620
主要介绍了详解Java读取Jar中资源文件及实现代码的相关资料,在开发java项目的时候,经常会用到jar包,这里就说下如何读取,需要的朋友可以参考下
Java使用poi读取、创建、另存Excel,支持xlsx和部分xls格式,使用参考链接:https://blog.csdn.net/baidu_41616022/article/details/104650990
一般当写入或读取xml配置文件时,需要引入这两个包中的一个进行操作。
本篇文章主要介绍了spring boot加载第三方jar包的配置文件的方法,详细的介绍了spring boot jar包配置文件的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
是一个Eclipse工程 下载后直接导入工程 运行 src 目录下的 Test java 类即可 这个 rar 包中包含着 POI 读取word 2003 和 word 2007 所需要的 jar 包 也有需要读取的 word 2003 和 word 2007 示例文件 [更多]
Spring mvc Aop+annotation实现系统日志记录功能实现的jar包asm-3.3.jar ,aspectjrt.jar , aspectjweaver.jar , cglib-nodep-2.1_3.jar , spring-aop.jar
下面小编就为大家带来一篇浅谈两个jar包中包含完全相同的包名和类名的加载问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
poi.zip java读取excel文件,其中bin压缩文件中含有jar包,eclipse导入时可直接使用;src压缩文件含有java源代码,需要阅读源码的童鞋可以下载使用
从java读取xls和xlsx所必须使用的jar包