`
dcriori
  • 浏览: 96841 次
社区版块
存档分类
最新评论

[转]java 从jar中读取文件 三种方法

阅读更多
  • Sample1-利用Manifest文件读取jar中的文件

1.文件目录
test--
     --a.text
     --b.gif

2. Menifest文件内容:
Manifest-Version: 1.0
abc: test/a.txt
iconname: test/Anya.jpg
注意:manifest.mf文件最后一行要打一回车
Another Notification:
如果manifest文件内容是:
Manifest-Version: 1.0
Main-Class: com.DesignToolApp
Class-path: lib/client.jar lib/j2ee.jar
在MANIFEST.MF文件的最后,要留两个空行(也就是回车),才可以识别到Class-Path这一行,如果只有一个空行,那么只识别到Main- Class这一行。Class-Path中的库名用空格格开,使用和jar包相对的路径,发布时把jar包和其他用到的类库一起交给用户就可以了。


3.打jar包
test.jar

    String iconpath = jar.getManifest().getMainAttributes().getValue("abc");
    InputStream in = jar.getInputStream(jar.getJarEntry(iconpath));
     //Image img = ImageIO.read(in);
    InputStreamReader isr =  new InputStreamReader(in);
    BufferedReader reader = new BufferedReader(isr);
    String line;
    while ((line = reader.readLine()) != null) {
          System.out.println(line);
    }
    reader.close();
 

 

  • Sample2,读取JAR 文件列表及各项的名称、大小和压缩后的大小

 

public class JarFileInfoRead {
 public static void main (String args[])  throws IOException {
  String jarpath="d://temp//test.jar";
  JarFile jarFile = new JarFile(jarpath);
  Enumeration enu = jarFile.entries();
  while (enu.hasMoreElements()) {
      process(enu.nextElement());
  }
}

private static void process(Object obj) {
    JarEntry entry = (JarEntry)obj;
    String name = entry.getName();
    long size = entry.getSize();
    long compressedSize = entry.getCompressedSize();
    System.out.println(name + "\t" + size + "\t" + compressedSize);
  }
}
 

 

  • Sample3,读取JAR中 文件的内容
public class JarFileRead {
    public static void main (String args[])
        throws IOException {
      String jarpath="d://temp//test.jar";
      JarFile jarFile = new JarFile(jarpath);
        Enumeration enu = jarFile.entries();
        while (enu.hasMoreElements()) {
         JarEntry entry = (JarEntry)enu.nextElement();
            String name = entry.getName();
            //System.out.println(name);
            if(name.equals("test/a.txt")){
            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();
    }
}
 

 

分享到:
评论

相关推荐

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

    如果找到匹配的条目,我们可以调用`JarEntry`对象的`getInputStream()`方法获取一个`InputStream`,这是读取文件内容的入口。 4. **写入目标文件**: 创建一个`FileOutputStream`,目标文件的路径是`toDir`加上`...

    从jar文档中读取文件

    从jar文档中读取文件 基于 Java 技术的打包方案,Java 档案 (Java Archive, JAR) 文件允许开发人员把所有相关的内容 (.class、图片、声音和支持文件等) 打包到一个单一的文件中。JAR 文件格式支持压缩、身份验证和...

    java 读取jar包文件

    以上就是Java中读取jar包文件的方法。在实际开发中,根据具体的需求和场景,可以选择合适的方式来实现。例如,如果你知道你要读取的文件位于jar包的根目录下,那么可以简化查找逻辑。而如果你需要遍历整个jar包,...

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

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

    JAR文件读取工具

    JD-GUI是Java反编译器的一种,它提供了一个图形用户界面,可以直接打开并查看JAR文件中的源代码。这个1.4.0版本是官方发布的,虽然不是原创代码,但它是经过验证和广泛使用的,可以可靠地将字节码转换回可读的Java源...

    java读取ini文件jar

    在这个场景中,我们有一个名为“java读取ini文件jar”的压缩包,它包含了一个示例,帮助开发者了解如何在Java中读取Ini文件。 首先,我们需要引入能够处理Ini文件的第三方库。一个常用的库是Apache Commons ...

    详解Java读取Jar中资源文件及示例代码

    Java读取Jar中资源文件是一种常见的操作,通过使用java.util.jar.JarFile和java.util.jar.JarEntry可以实现读取jar文件中的资源文件。这种机制可以实现资源的动态加载和更新,提高了系统的灵活性和可维护性。

    读取分析Excel所有jar包和java示例文件

    本资源包聚焦于这个主题,包含了一系列jar包以及两个.java示例文件,帮助我们深入理解如何在Java环境中读取和解析Excel内容。 首先,让我们了解一下核心的jar包。这些jar包通常包含了用于操作Excel文件的API,例如...

    Java读取netcdf文件和生成等值线的jar_netcdf_wContour

    在实际应用中,通常会结合这两个库,先使用netcdf-4.3.22.jar读取NetCDF文件中的科学数据,然后用wContour.jar将其可视化为等值线图。需要注意的是,由于NetCDF文件可能包含多维数据,所以在处理时可能需要对数据...

    EXCELJAVA读取JAR包

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

    JAVA 读取visio word excel 数据及详细jar使用说明

    本主题将详细介绍如何利用Java中的特定库来完成这一任务,特别是通过args4j-2.0.1.jar、tlbimp.jar和com4j.jar这三个关键库。 首先,args4j-2.0.1.jar是一个轻量级的命令行参数解析库。它主要用于Java程序,使得...

    spring读取jar中的配置文件

    当我们的应用程序被打包成JAR文件后,有时我们需要从JAR内部读取配置文件,例如application.properties或application.yml。本文将深入探讨如何在Spring框架中实现这一功能。 首先,理解Spring的资源配置。Spring...

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

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

    java读取excel文件jar包20181223

    Java读取Excel文件是开发过程中常见的任务,尤其是在处理数据导入导出、数据分析或者报表生成时。这个名为"java读取excel文件jar包20181223"的资源可能包含了一些帮助Java开发者实现这一功能的库。下面将详细讨论...

    Java —— jar读取自身图片和文本(.txt)文件(含源代码)

    在Java编程中,有时我们需要在运行时从JAR文件中读取资源,如图片和文本文件。这在创建可执行的Java应用程序时尤其常见,因为这些资源通常被打包到JAR文件内部。以下是一个详细的知识点说明,关于如何在Java中读取...

    读取war包或jar包内的文件

    标题"读取war包或jar包内的文件"涉及到的知识点主要是如何在程序中动态地获取并读取这些归档文件中的内容,这对于理解和处理Java应用的部署和运行至关重要。这篇博客(虽然链接未提供具体内容)可能探讨了以下关键点...

    Java读取TIFF文件

    在IT行业中,图像处理是不可或缺的一部分,特别是在...总的来说,Java通过第三方库如Apache Commons Imaging,提供了读取和处理TIFF文件的能力,这使得开发者能够在Java应用程序中灵活地处理这种专业级别的图像格式。

    Java读取Excel文件jar

    Java读取xls、CSV、xlsx文件所用到的jar包,包括: dom4j-1.6.1.jar geronimo-stax-api_1.0_spec-1.0.jar opencsv-2.3.jar poi-3.7-20101029.jar poi-examples-3.7-20101029.jar poi-ooxml-3.7-20101029.jar poi-...

    java读取数据库表中内容转存sql文件,然后解析执行此文件

    在Java编程中,读取数据库表中的内容并将其转换为SQL文件,然后解析并执行这个文件,是一项常见的数据处理任务。这项操作可能涉及到数据库连接、数据查询、文件操作以及SQL语句的构建与执行。以下将详细介绍这个过程...

    java上传文件jar

    在Java开发中,上传文件是一项常见的任务,尤其是在构建Web应用程序时。标题提到的"java上传文件jar"实际上指的是两个关键的Java库,它们是Apache Commons IO和Apache Commons FileUpload。这两个库提供了强大的文件...

Global site tag (gtag.js) - Google Analytics