精华内容
下载资源
问答
  • 程序运行,有时候需要获取jar包内内容, 例如版本更新信息,新增文本提示等有时候需要获取jar包外内容, 例如每个系统运行环境, 系统名称等当前用是spring clud框架获取到jar包内配置文件String fileName = "文件名....

    程序运行,

    有时候需要获取jar包内内容, 例如版本更新信息,新增文本提示等

    有时候需要获取jar包外内容, 例如每个系统运行的环境, 系统名称等

    当前用的是spring clud框架

    获取到jar包内配置文件

    String fileName = "文件名.xml";

    InputStream is = this.getClass().getResourceAsStream("/"+fileName); //通过java getclass 获取到jar包内文件, 获取到输入流

    private static Map verMap = new HashMap<>();

    if (document == null)

    return;

    List> tables = document.selectNodes("UrlList"); //通过document 的方法, 解析xml

    if (tables != null && tables.size() > 0) {

    for (Object obj : tables) {

    Element urlList = (Element) obj;

    for (Object urlObj : urlList.selectNodes("url")) {

    Element urlElement = (Element) urlObj;

    String verid = urlElement.attributeValue("verid");

    String vernum = urlElement.attributeValue("vernum");

    String vertime = urlElement.attributeValue("vertime");

    String vertext = urlElement.getText();

    if (!verMap.containsKey(verid)){

    ObjectNode objectNode = Convert.newObject();

    objectNode.put("verid", verid);

    objectNode.put("vernum", vernum);

    objectNode.put("vertime", vertime);

    objectNode.put("vertext", vertext);

    verMap.put(verid, objectNode);

    }

    }

    }

    }

    2、

    1、

    通过ConfigUtil.getApplicationPath()获取到项目运行绝对地市

    File.separator 斜线, 文件夹符号

    String configPath = "file:"+ConfigUtil.getApplicationPath()+File.separator+"conf"+File.separator+"applicationContext.xml";

    展开全文
  • java 获取 jar 包内文件列表

    千次阅读 2016-04-13 20:14:16
    获取 jar 包内文件列表,使用 JarFile。下面是我测试类: package com.zd.test1; import java.io.File; import java.io.FileFilter; import java.io.IOException; import java.util.Enumeration; import java....

       获取 jar 包内文件列表,使用 JarFile。下面是我的测试类:

    package com.zd.test1;
    
    import java.io.File;
    import java.io.FileFilter;
    import java.io.IOException;
    import java.util.Enumeration;
    import java.util.jar.JarEntry;
    import java.util.jar.JarFile;
    
    public class TestJarFile {
    
    	public static void main(String[] args) throws IOException {
    		File path = new File(System.getProperty("user.dir") + "/" + "zd" + "/");
    		
    		File[] jarFiles =  path.listFiles(new FileFilter() {
    			
    			@Override
    			public boolean accept(File file) {
    				return file.getName().toUpperCase().endsWith("JAR");
    			}
    		});
    		
    		JarFile jf = null;
    		for(File fileTemp : jarFiles){
    			jf = new JarFile(fileTemp);
    			Enumeration<JarEntry> enume = jf.entries();
    			while(enume.hasMoreElements()){
    				JarEntry element = enume.nextElement();
    				String name = element.getName();
    				if(name.toUpperCase().endsWith(".CLASS")){
    					System.out.println(name);
    				}
    			}
    		}
    	}
    	
    }
    


    输出结果如下:

    org/apache/commons/logging/impl/Log4JCategoryLog.class
    org/apache/commons/logging/impl/Log4JLogger.class
    org/apache/commons/logging/impl/Log4jFactory.class
    org/apache/commons/logging/impl/LogFactoryImpl$1.class
    org/apache/commons/logging/impl/LogFactoryImpl.class
    org/apache/commons/logging/impl/LogKitLogger.class
    org/apache/commons/logging/impl/NoOpLog.class
    org/apache/commons/logging/impl/SimpleLog$1.class
    org/apache/commons/logging/impl/SimpleLog.class
    org/apache/commons/logging/impl/AvalonLogger.class
    org/apache/commons/logging/impl/Jdk14Logger.class
    org/apache/commons/logging/Log.class
    org/apache/commons/logging/LogFactory$1.class
    org/apache/commons/logging/LogFactory$2.class
    org/apache/commons/logging/LogFactory$3.class
    org/apache/commons/logging/LogFactory.class
    org/apache/commons/logging/LogConfigurationException.class
    org/apache/commons/logging/LogSource.class
    



    展开全文
  • 在使用 jar 执行 java 代码时,有一...以classpath 开头 URL 表示该文件jar包内文件的路径.如:classpath://config/app.config表示jar包根路径config文件夹下app.config文件以file开头URL表示该文件为jar 包外...

    在使用 jar 执行 java 代码时,有一个需求是从 jar 包所在目录的同级目录下读取配置文件的需求,从网上找了很多方法感觉都挺复杂的,

    在这里总结一下.

    以classpath 开头的 URL 表示该文件为jar包内文件的路径.

    如:classpath://config/app.config表示jar包根路径config文件夹下的app.config文件

    以file开头的URL表示该文件为jar 包外文件的路径

    如:file://./config/app.config表示

    摘要

    // 当前我想从jar包的同级目录下读取一个名为 'config.txt'的文件的话,我需要指定目录为.

    File file = new File(".","config.txt")

    说明

    File file = new File("config.txt")

    当只包含文件名称时,java程序会默认尝试从jar包的根路径去读取文件,当尝试使用 file.getCanonicalPath() 方法读取时,便会得到该文件在jar包内的路径.

    示例

    我当前的工程的路径为D:\WorkSpace\path_demo01\

    在工程执行以下java代码:

    当指定parent时:

    会从parent下查找path资源.

    log(FileUtil.file(".", "/config/app.config").getCanonicalPath());

    log(FileUtil.file(".", "config/app.config").getCanonicalPath());

    // D:\WorkSpace\path_demo01\config\app.config

    //加载与当前jar包同级目录下的文件

    log(FileUtil.file(".", "app.config").getCanonicalPath());

    当没有指定parent:

    如果path为绝对路径时,会从绝对路径下查找

    如果path为相对路径时,会从classpath的根路径下开始查找

    log(FileUtil.file("/config/app.config").getCanonicalPath());

    // D:\config\app.config

    log(FileUtil.file("config/app.config").getCanonicalPath());

    // D:\WorkSpace\path_demo01\target\classes\config\app.config

    通过当前类加载资源:

    如果path为相对路径会指定要加载的资源路径与当前类所在包的路径一致

    如果path为绝对路径,那么就会从classpath的根路径下开始查找

    log(App.class.getResource("/config/app.config"));

    // file:/D:/WorkSpace/path_demo01/target/classes/config/app.config

    log(App.class.getResource("config/app.config"));

    // file:/D:/WorkSpace/path_demo01/target/classes/top/ghimi/config/app.config

    通过类加载器加载资源:

    默认是从ClassPath根下获取,path不能以/开头,最终是由ClassLoader获取资源.

    log(App.class.getClassLoader().getResource("/config/app.config"));

    // null

    log(App.class.getClassLoader().getResource("config/app.config"));

    // file:/D:/WorkSpace/path_demo01/target/classes/config/app.config

    加载jar包内的资源

    当代码打包成jar包的形式后,是无法通过new File()的形式加载jar包内的资源的.此时有可能抛出

    FileNotFoundException异常,是由于将path当成jar包外的目录查找不到资源导致的.

    URI is not hierarchical异常,是由于无法直接读取jar包中资源(透明)而抛出的异常.

    解决方法:

    使用 getResourceAsStream()方法直接获取资源的流而不是getResource()获取资源文件对象的方式读取资源.

    //修改前,未打包成jar包时能够正常执行,打包后会抛出异常

    log(App.class.getClassLoader().getResource("config/app.config"));

    // 修改后,打成jar包后也可以正常加载资源

    log(App.class.getClassLoader().getResourceAsStream("config/app.config"));

    加载jar包外的资源

    会从parent目录下查找path资源.

    //加载与当前jar包同级目录下的文件

    log(FileUtil.file(".", "app.config").getCanonicalPath());

    // D:\WorkSpace\path_demo01\app.config

    //加载与当前jar包的上一级目录下的文件

    log(FileUtil.file("..", "app.config").getCanonicalPath());

    // D:\WorkSpace\app.config

    借用工具hutool:

    cn.hutool

    hutool-all

    4.5.6

    补充知识:java中jar包内的类访问jar包内部的资源文件的路径问题

    在本地项目中,若我们要访问项目中的资源文件,则一般使用相对路径或者用System.getProperities("user.dir")得到项目根目录,然后再访问资源文件,但是在将该工程和资源文件打包为jar包,运行该jar文件时,会显示找不到资源文件的错误。

    在如下项目结构树中,项目根目录为nlpir,如果我们要在src下的某个package的某个java文件中访问blackWhite文件夹中的文件,则相对路径为"blackWhite/....."即可。但是在打包为jar包时,即使我们把blackWhite文件夹同样加入到打包的文件行列,在运行该jar包时,会出错:找不到blackWhite中某文件的路径。

    8ca44fc4bcdd12909a6b000fb8b07972.png

    解决方法:

    使用Class.getResource或者是ClassLoader.getResourceAsStream()将文件内容放到InputStream中,具体使用如下:

    String s1 = this.getClass().getResource("/library.properties").getPath();

    或者为:

    String s1 = CodeTest.class.getResource("/library.properties").getPath();

    注意,使用class的getRescource时,要注意路径前要加"/",即根目录,此处的根目录是src

    若像如下使用:

    String class_str = this.getClass().getResource("logback.xml").getPath();

    则会出错如下:

    3190490f9571faa8a29ebfea9845753f.png

    使用ClassLoader时,如下:

    this.getClass().getClassLoader().getResource()

    在使用ClassLoader时,路径前面不能加"/",使用相对路径。

    如下示例:

    @Test

    public void test4(){

    String class_str = this.getClass().getResource("/logback.xml").getPath();

    String class_str2 = TempTest.class.getResource("/logback.xml").getPath();

    String classLoader_str = this.getClass().getClassLoader().getResource("logback.xml").getPath();

    InputStream is = this.getClass().getClassLoader().getResourceAsStream("logback.xml");

    System.out.println(class_str);

    System.out.println(class_str2);

    System.out.println(classLoader_str);

    System.out.println(is == null );

    }

    结果如下:

    bd8eba3ec3b4668186b18e2b65da2277.png

    String ss = TempTest.class.getResource("/").getPath();

    上述该代码得到的是项目的根目录,即nlpir的根目录,结果如下:

    /C:/eclipse/eclipse/workspace/nlpir/out/production/nlpir/

    如下代码:

    @Test

    public void readProperties(){

    String ss = TempTest.class.getResource("/").getPath();

    System.out.println(ss);

    String s = new File(ss).getParentFile().getPath();

    System.out.println(s);

    String system_str = System.getProperty("user.dir");

    System.out.println(system_str);

    }

    运行结果如下:

    38f6c58fba5576acfc7e48e6a7a56bb3.png

    其中,File.getParentFile()可用于求父目录

    将上述readProperties函数打包为jar包在命令行使用java -jar TempTest.jar运行时,结果如下:

    a732c4453d29e08af7f2b8f73e000453.png

    由此可见,打包成jar包时和在ide中直接运行的结果并不一样,所以在jar包中的class类要访问自己jar包中的资源文件时,应该使用Class.getResource或者是getResourceAsStream放在InputStream中,再进行访问。但是该方法只能访问到src下的资源文件,因为其根目录对应的就是src,无法访问到项目根目录下src外的文件,如上述项目结构图中的blackWhite中的文件无法访问到,解决方法还木有找到。。。。。。

    当jar包外部的类需要访问某个jar包的资源文件时,使用JarFile类,

    具体使用方法如下:

    如果你对于常用的ZIP格式比较熟悉的话,JAR文件也就差不多。JAR文件提供一种将多个文件打包到一个文件中的方法,其中每一个文件可能独立地被压缩。JAR文件所增加的内容是manifest,它允许开发者可以提供附加的关于内容的信息。例如,manifest表明JAR文件中的哪个文件是用来运行一个程序的,或者库的版本号等。

    J2SEDK提供了一个JAR工具,你可以用它从控制台读写JAR文件。然而,如果你需要在程序中代码读写JAR文件,可能需要一点时间(本文只包含如何在程序中读写JAR文件)。好消息是你可以做到这一点,而且你不用担心解压的事,因为类库将帮助你完成这些。

    首先,通过把将JAR文件位置传给构造函数,创建一个JarFile的实例,位置可能是String或File的形式,如下:

    JarFile jf = new JarFile("C:/jxl.jar");

    或者为:

    File file = new File("C:/jxl.jar");

    JarFile jarFile = new JarFile(file);

    你可能注意到当文件不在class path中时,JarFile类对于从JAR中读取文件文件是很有用的。当你想指定目标JAR文件时,JarFile类对于从JAR中读取文件同样也很有用。

    当然,如果JAR文件在class path中,从其中读取文件的方法比较简单,你可以用下面的方法:

    URL url = ClassLoader.getSystemResource(name);

    或者为:

    InputStream stream =

    ClassLoader.getSystemResourceAsStream("javax/servlet/LocalStrings_fr.properties");

    当你有了该JAR文件的一个引用之后,你就可以读取其文件内容中的目录信息了。JarFile的entries方法返回所有entries的枚举集合 (Enumeration)。通过每一个entry,你可以从它的manifest文件得到它的属性,任何认证信息,以及其他任何该entry的信息,如它的名字或者大小等。

    Enumeration enu = jf.entries();

    while (enu.hasMoreElements()) {

    JarEntry element = (JarEntry) enu.nextElement();

    String name = element.getName();

    Long size = element.getSize();

    Long time = element.getTime();

    Long compressedSize = element.getCompressedSize();

    System.out.print(name+"/t");

    System.out.print(size+"/t");

    System.out.print(compressedSize+"/t");

    System.out.println(new SimpleDateFormat("yyyy-MM-dd").format(new Date(time)));

    }

    为了从JAR文件中真正读取一个指定的文件,你必须到其entry的InputStream。这和JarEntry不一样。这是因为JarEntry只是包含该entry的有关信息,但是并不实际包含该entry的内容。这和File和FileInputStream的区别有点儿相似。访问文件没有打开文件,它只是从目录中读取了该文件的信息。

    下面是如何得到entry的InputStream:

    InputStream input = jarFile.getInputStream(entry);

    当你有了输入流,你就可以像读取其他流一样读取它。在文本流中(text stream),记得使用读取器(Reader)从流中取得字符。对于面向字节的流,如图片文件,直接读取就行了。

    示例:

    下面的程序演示如何从JAR文件中读取文件。指定JAR文件的名称,要读取的文件的名称(打包JAR文件中的某一个文件)作为参数来调用该程序。要读取的文件应该有一个文本类型的。

    import java.io.*;

    import java.util.jar.*;

    public class JarRead {

    public static void main (String args[])

    throws IOException {

    if (args.length != 2) {

    System.out.println(

    "Please provide a JAR filename and file to read");

    System.exit(-1);

    }

    JarFile jarFile = new JarFile(args[0]);

    JarEntry entry = jarFile.getJarEntry(args[1]);

    InputStream input = jarFile.getInputStream(entry);

    process(input);

    jarFile.close();

    }

    private static void process(InputStream input)

    throws IOException {

    InputStreamReader isr =

    new InputStreamReader(input);

    BufferedReader reader = new BufferedReader(isr);

    String line;

    while ((line = reader.readLine()) != null) {

    System.out.println(line);

    }

    reader.close();

    }

    }

    假设在myfiles.jar文件中有一个spider.txt文件,spider文件的内容如下:

    The itsy bitsy spider

    Ran up the water spout

    Down came the rain and

    Washed the spider out

    可以通过下面的命令在命令行来显示该文本文件的内容:

    java JarRead myfiles.jar spider.txt

    以上这篇Java 获取 jar包以外的资源操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

    展开全文
  • 在对A模块做打包操作之后 A.jar包可以通过 java -jar -Dspring.profiles.active=devA.jar 运行, 对A模版的jar文件A.jar解压之后,会看到如下图所示的文件结构,B模块会作为A模块的依赖模块放在lib目录下,当然,...

    在Spring Boot多模块项目中,A模块是主模块,依赖B模块,如下图1所示,

    在对A模块做打包操作之后 A.jar包可以通过 java -jar -Dspring.profiles.active=dev A.jar 运行,

    对A模版的jar文件A.jar解压之后,会看到如下图所示的文件结构,B模块会作为A模块的依赖模块放在lib目录下,当然,其他B模块所依赖的jar都在这个目录。

    对B模块的jar文件B.jar解压,那B模块编译前的配置文件resources目录的内容也在自己jar包内,如下图2。

                                                                图1 

                   图2

    在IDEA项目中(未打成jar包),可以直接通过getResource拿到资源文件路径,然后通过File file = new File(path) 加载文件

    String path = BohaiQueryProvider.class.getClassLoader().getResource(keyFilePath).getPath()
    public URL getResource(String name) {
            URL url;
            if (parent != null) {
                url = parent.getResource(name);
            } else {
                url = getBootstrapResource(name);
            }
            if (url == null) {
                url = findResource(name);
            }
            return url;
        }

    但是打成jar包之后,不能通过这种方式获取依赖jar包的文件了,File文件加载路径内文件会找不到,那怎样做呢?

    InputStream inputStream = BohaiQueryProvider.class.getResourceAsStream(keyFilePath)
    
    byte[] prifileContent = IOUtils.toByteArray(inputStream)

    通过 getResourceAsStream方式拿到资源文件,其实 getResourceAsStream函数也是先通过 getResource拿到资源的URL,然后通过流的形式拿到文件

    public InputStream getResourceAsStream(String name) {
            URL url = getResource(name);
            try {
                return url != null ? url.openStream() : null;
            } catch (IOException e) {
                return null;
            }
    }

    附上stackoverflow上的一个问题 https://stackoverflow.com/questions/2815404/load-properties-file-in-jar

    问题大致是

    getSystemResourceAsStream这个函数在单元测试和Eclipse中运行可以,但是打成jar包作为被别的包依赖的jar出现问题

    原因是 getSystemResourceAsStream 在web项目中是会去你的系统classpath加载资源,例如你配置的jdk目录,而web项目 servlet容器,例如tomcat会将应用的classpath和系统的做区分,最简单的加载资源的方式是直接用资源所在jar包里的类加载器加载

    MyClass.class.getResourceAsStream("/someProps.properties")

    另外二个小知识点

    The following rules cover about 95% of the decisions that application developers and deployers must make about where to place class and resource files to make them available to web applications:

    • For classes and resources specific to a particular web application, place unpacked classes and resources under /WEB-INF/classes of your web application archive, or place JAR files containing those classes and resources under /WEB-INF/lib of your web application archive.
    • For classes and resources that must be shared across all web applications, place unpacked classes and resources under $CATALINA_BASE/shared/classes, or place JAR files containing those classes and resources under $CATALINA_BASE/shared/lib.

    对于web应用,应该将资源文件和类放在/WEB-INF/classes中,对于多个web应用公用的类,放置在$CATALINA_BASE/shared/classes中。

    Maven启动指定Profile通过-P,如mvn spring-boot:run -Ptest,但这是Maven的Profile。

    如果要指定spring-boot的spring.profiles.active,spring-boot 1.x 使用mvn spring-boot:run -Drun.profiles=test,spring-boot 2.x 使用mvn spring-boot:run -Dspring-boot.run.profiles=test。参考资料:https://docs.spring.io/spring-boot/docs/2.0.1.RELEASE/maven-plugin/examples/run-profiles.html

    如果使用命令行直接运行jar文件,则使用java -jar -Dspring.profiles.active=test demo-0.0.1-SNAPSHOT.jar

    如果使用开发工具,运行Application.java文件启动,则增加参数--spring.profiles.active=test

    转载于:https://www.cnblogs.com/zhengwangzw/p/9960632.html

    展开全文
  • Jar文件是一种归档文件,里面包含了一堆Class文件,以及Resouce文件,File是文件资源的统称Jar file的结构,包含了META-INT,...但当你的代码以Jar的方式去运行的时候,Resources作为源文件打包后其下的文件...
  • 在使用 jar 执行 java 代码时,有一个需求...以classpath 开头 URL 表示该文件jar包内文件的路径. 如:classpath://config/app.config表示jar包根路径config文件夹下app.config文件 以file开头URL表示该文件为...
  • 如果在jar中需要访问jar包内部某个资源文件,可以用class.getResourceAsStream(文件路径)获取文件内容。 假设文件路径是project/src/com/zh/resource, code如下: import java.io.BufferedReader; import ...
  • 后来查找资料发现是java获取依赖jar包中资源文件跟获取本工程中资源文件的使用姿势还是有一定区别,没有使用正确姿势,经过修正后,我的jar包中接口欢快跑起来了。在逻辑中涉及到拷贝本地配置文件和启动...
  • 一般有将java项目打成jar包来执行, 有可能需要读取一些额外的文件, 若想将文件打入jar包中, 此时的jar包就是一个文件了, 采取一般的读取文件获取方式就会失败 可以采用 InputStream is=ClassLoader....
  • java程序打成jar包后,经常碰到一些资源文件找不到等问题,最近总结了一下之前用到几种获取路径、资源文件的方法测试代码代码如下,并且打成jar包package cn.zks.pathtest;import java.io.BufferedReader; import ...
  • 问题描述 在开发过程中使用绝对路径访问ca证书文件,结果打成jar包后,发生了 no such file or dictionary 的异常 ...javajar包内的类访问jar包内部的资源文件的路径问题 来获取路径时,得到的路径是 !BOOT-...
  • 打成jar包后无法读取到jar包内的properties文件 发现在eclipse里一切正常,但打成jar包后就无法读取到properties文件了。 之前的程序是这样获取配置文件的: [code="java"] Thread.currentThread()....
  • 需要引入jar包:httpclient、httpmime、httpcore、javax.servlet-api。import javax.servlet.http.HttpServletResponse;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import ...
  •   本人写了一个jar包A,在B程序中调用Ajar包中某个方法读取Ajar包中txt文件,但每次都会包FileNotFount. 2.问题原因   使用File类读取文件获取的路径全是B程序调用位置,无法定位到jar。 3.问题解决 ...
  • 最近有个需求需要获取一个指定包下所有类全类名,因此特意写了个获取指定包下所有类全类名工具类。...如果这个包名是jar包里面,那么需要通过遍历jar包内文件的方式来获取该包下所有类类名二、代码...
  • Java 路径获取 | 文件读取 读取Jar包中的文件 获取Jar包所在路径 获取项目的路径 访问Jar包内的文件
  • 获取当前jar包的绝对路径

    万次阅读 2015-01-15 14:03:23
    好久没来CSDN了诶嘿o(≧v≦)o  事情的起因是这样的,最近在编写的Java程序,想...crontab内的程序运行的路径不是程序所在的路径,这就造成一个麻烦的地方,假如jar包的位置并不确定,而jar包又需要读取同目录的文件
  • 读取Jar包内的资源

    2013-04-26 11:21:49
    在项目中使用Maven,有大量的jar包。 原来代码中 直接使用 Xxx.class.getResourceAsStream()方法来获取资源。...下面这个工具类可以帮助我们处理jar包内的资源   import java.io.BufferedReader; import jav...
  • 获取jar内的所有文件,找到以.class结尾的编译文件的路径,同样用Java反射,然后用isAssignableFrom判断是否为子类或实现类,就可以满足需求。 但问题来了,在正式环境中,由于是多模块项目,maven打包成jar包,主...
  • 获取src下fileurl.properties文件路径this.getClass().getResource("/fileurl.properties").getPath()...】----jar中class获取jar内部资源文件,该文件打包成jar前放置在src目录下如果文件和读取类在同一个...
  • 需要引入jar包:httpclient、httpmime、httpcore、javax.servlet-api。 import javax.servlet.http.HttpServletResponse; import java.io.File; import java.io.FileInputStream; import java.io.IOException; ...
  • 为了安全问题一般会将jar打包成exe文件jar是可以被反编译;其二打包exe方便后期打包成安装包(InnoSetup工具可以胜任,这里不涉及) 关于防止反编译:exe运行时可能在windows运行目录获取内部jar,所以为了防止...
  • 目的 一个Jar库导入另一个jar库的类,但是不想将另一...1.获取jar包类加载器 2.加载类 3.获取方法 4.方法调用 方案2 1.Export导出Jar file 2.选择所有需要导入库中的文件,选择导出到目的文件位置和名称,然后Finish...
  • 获取src下fileurl.properties文件路径 this.getClass().getResource("/fileurl.properties").getPath() ...】----jar中class获取jar内部资源文件,该文件打包成jar前放置在src目录下 如果文件和读...
  • 引入的jar包不对,或者你压缩文件不标准。62616964757a686964616fe78988e69d8331333365646331一般就会报这个错误。关于上面英语翻译:Key features(主要特性):Create, Add, Extract, Update, Remove files from ...
  • java加载jar包中库资源

    千次阅读 2016-06-28 20:12:47
    加载文件方法有很多,不过如果文件打包在jar包内如何进行加载呢?路径可以很轻易的获取,不过jar包是一个文件,而非一个文件夹,jar包中资源并未解压到外部环境中,因而我们无法通过常用加载文件的方法获知jar...
  • 当把它打成jar包后,获取这个文件的目录应该这样获取. A代表某个类。 A.class.getResource(“/file/test.xml”) 这种写法是没错,在eclipse中是可以执行,能找到文件。 但是打成JAR后就不行了。为什么了.....

空空如也

空空如也

1 2 3 4 5 ... 14
收藏数 263
精华内容 105
关键字:

java获取jar包内的文件

java 订阅