java - 如何获取JAR文件中目录下的文件列表

标签 java

我想知道 JAR 文件中“META-INF/config”目录下的文件列表。

我正在使用下面的代码来检索文件列表。但它正在失败。

    Enumeration<URL> path = Thread.currentThread().getContextClassLoader().getResources("META-INF/config/");
    while(path.hasMoreElements())
    {
      URL path1 = path.nextElement();   
      System.out.println("File =" +path1.getFile());
      File configFolder = new File(path1.getPath());
      File[] files = configFolder.listFiles();
      for (File file : files)
      {
        System.out.println("\nFile Name =" + file.getName());
      }
    }

有人可以帮我解决这个问题吗?

提前致谢, 玛维斯瓦

最佳答案

试试下面的代码

import java.util.*;
import java.util.jar.*;
import java.util.zip.*;
import java.io.*;

public class JarContents{
  public static void main(String[] args) throws IOException{
  JarContents mc = new JarContents();
  }

  public JarContents() throws IOException{
  BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
  System.out.print("Enter jar file name: ");
  String filename = in.readLine();
  File file = new File(filename);
  if(!filename.endsWith(".jar")){
  System.out.println("Invalid file name!");
  System.exit(0);
  }
  else if(!file.exists()){
  System.out.println("File not exist!");
  System.exit(0);
  }

  try{
  JarFile jarfile = new JarFile(filename);
  Enumeration em = jarfile.entries();
  for (Enumeration em1 = jarfile.entries(); em1.hasMoreElements();) {
  System.out.println(em1.nextElement());
  }
  }
  catch(ZipException ze){
  System.out.println(ze.getMessage());
  System.exit(0);
  }
  }
}

祝你好运!!!

关于java - 如何获取JAR文件中目录下的文件列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9038502/

相关文章:

Java - Java Web 应用程序中文件的相对路径

java - 如果子实体的列之一为空,则忽略插入子实体

java - Java中的Serializable接口(interface)虽然没有方法,没有字段,但是可以实现它的功能。如何?

java - java中Exec方法从未抛出异常

java - 向 ListView 添加更多元素 "overwrites"当前 ListView

java - 我可以将扩展类中的变量类型强制转换为 Java 中的子类型吗?

java - OpenAPI 生成器 - Java 11 native HTTP 客户端模板 : how to add custom headers

java - 死代码从何而来?

java - 如何正确使用JDK8流的Groupingby?

java - 如何更改 米尔斯 的时区?