`

执行可运行jar包时读取jar包中的文件

阅读更多

可运行的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包之后运行如下:

 

 

  • 大小: 13.7 KB
  • 大小: 20.8 KB
0
0
分享到:
评论

相关推荐

    Java实现从jar包中读取指定文件的方法

    同时,为了应对可能出现的异常,确保在处理文件时使用适当的错误处理机制,例如`try-catch`块。 此外,如果你需要频繁地从JAR中读取资源,可以考虑使用`Class.getResourceAsStream()`或`ClassLoader....

    Eclipse打包成JAR包读取外部JAR包和外部配置文件

    然而,当项目完成后,我们需要将其打包成可执行的JAR文件,以便在其他环境中运行。在某些情况下,我们的项目可能依赖于外部的JAR库或者需要读取外部的配置文件,这在打包时需要特别处理。本文将详细介绍如何在...

    读取war包或jar包内的文件

    在Java开发中,有时我们需要在运行时访问或者操作WAR(Web Application Archive)包或JAR(Java Archive)包内的文件。这些文件可能包括配置文件、静态资源、类文件等。标题"读取war包或jar包内的文件"涉及到的知识...

    删除jar包中的指定文件

    标题“删除jar包中的指定文件”涉及到的是Java开发中对已打包JAR文件进行操作的知识点。在Java中,JAR(Java Archive)文件是一种归档格式,用于将多个类文件和其他资源组合到一个单一的文件中,方便分发和执行。...

    spring读取jar中的配置文件

    在处理JAR内的配置文件时,通常会使用`@PropertySource`注解来指示Spring从特定资源加载属性。例如: ```java @Configuration @PropertySource("classpath:/config/application.properties") public class ...

    解决SpringBoot jar包中的文件读取问题实现

    在尝试使用Spring的`ResourceUtils.getFile()`方法读取文件时,如以下代码所示: ```java import org.springframework.util.ResourceUtils; public static void main(String[] args) throws IOException { File ...

    Java读取Excel文件jar包

    本篇文章将详细讲解如何使用给定的jar包——opencsv-2.3.jar、poi-3.7-20101029.jar以及poi-ooxml-3.7-20101029.jar,来读取xls、CSV和xlsx格式的Excel文件。 首先,让我们关注opencsv-2.3.jar。OpenCSV是一个轻量...

    jar包、class文件读取工具

    此外,`URLClassLoader`可以加载jar包中的类,使得运行时能动态使用jar中的类。 3. 命令行工具:`jar`命令是Java SDK自带的工具,可用于创建、更新和提取jar文件。例如,`jar tf myjar.jar`可以列出jar包内的所有...

    如何加载jar包中的spring配置文件

    在Spring MVC项目中,加载jar包中的Spring配置文件是一个常见的需求,特别是在进行SSM(Spring、Spring MVC、MyBatis)整合时。SSM框架的整合通常涉及到多个配置文件的组织和管理,其中一部分配置可能会被打包到独立...

    Java源文件读取JAR包文件.rar

    在Java编程中,有时我们需要在运行时从JAR(Java Archive)包中读取文件,例如类、配置或资源文件。这个任务对于那些希望在不将文件解压到硬盘上的情况下使用它们的开发者来说是非常重要的。本文将详细介绍如何在...

    java 读取jar包文件

    在Java编程中,读取jar包内的文件是一个常见的需求,特别是在运行时动态加载资源或类文件时。Java提供了一种内置的方式,通过`java.util.jar`包中的`JarFile`和`JarInputStream`类来实现这个功能。下面将详细介绍...

    jar 包 内文件读取 文件内容

    - 访问JAR文件时要考虑安全性,确保拥有正确的权限。在Java安全模型下,某些操作可能受到限制。 9. **Maven和Gradle插件**: - Maven和Gradle等构建工具允许你配置如何打包和处理JAR文件中的资源,比如在构建过程...

    java读取tar.gz压缩文件的jar包

    java读取tar.gz压缩文件的jar包

    java读JAR包里的配置文件

    java读JAR包里的配置文件、java读JAR包里的配置文件

    Linux上执行带main方法的java文件

    创建JAR文件时,需要编辑`manifest.mf`文件来指定主类以及依赖的jar包路径。manifest.mf文件的编写格式非常重要,必须严格按照以下格式编写: ```plaintext Manifest-Version: 1.0 Main-Class: com.util.ParseURL ...

    jar包里读取图片.rar ,,自己写的例子

    总结来说,从JAR包中读取图片涉及对Java类路径的理解,以及正确使用`getResource()`或`getResourceAsStream()`方法。在实际项目中,这通常是通过封装在静态方法或工具类中,以便在多个地方复用。对于开发者来说,...

    EXCELJAVA读取JAR包

    标题“EXCELJAVA读取JAR包”涉及的是Java编程中的一个特定应用场景,即使用Java来读取Excel文件,而这个过程可能涉及到从一个JAR文件中操作数据。描述中提到,开发者创建了一个Java项目,引入了Apache POI库(通过...

    jar包解析工具

    2. **解析**:`jar`包解析是指读取`jar`文件的内容,获取`class`文件、资源文件以及`MANIFEST.MF`文件的信息。可以使用Java内置的`JarFile`类来实现这一功能,也可以借助第三方工具,例如`jdgui_0.3.6`,它是一个...

    自定义注解读取Jar包_需要的Jar包

    通过自定义注解读取Jar包里面的类名、属性名、中文注释以及属性类型所需要的Jar包示范,通过这个Jar包可以将里面的属性名、类名等读出来添加进数据库中

Global site tag (gtag.js) - Google Analytics