gpt4 book ai didi

java - 如何在 JAR 中搜索文件?

转载 作者:行者123 更新时间:2023-12-02 06:06:40 25 4
gpt4 key购买 nike

我有一个 JAR 文件,我想搜索其中是否存在类文件。

import java.util.jar.*;

public class Check
{
public static void main(String args[]) throws Exception
{
String path="C:\\workspace\\Project\\sun\\tools\\jam-dt.jar";
path=path.replace("\\","/");
JarFile jar=new JarFile(path);

JarEntryentry=jar.getJarEntry("com/sun/xml/ws/binding/Bind.class");
if(entry!=null)
{
System.out.println(" Entry present");

}
else
{
System.out.println("No Entry");
}
}

}

但是 JAR 文件中存在许多目录。我无法在 getJarEntry 函数中手动输入它们中的每一个并进行检查。如何检查类是否存在。如何在 JAR 中搜索文件?

最佳答案

String path="C:/Users/hussain.wahid/Desktop/hussain back up/Hussain/Eclipse WorkSpace/SO/poi.jar";
path=path.replace("\\","/");
JarFile jar=new JarFile(path);
ArrayList<String> fileNameList = new ArrayList<String>();

Enumeration<JarEntry> myEntry = jar.entries();
while(myEntry.hasMoreElements())
{
//System.out.println(myEntry.nextElement().toString());
fileNameList.add(myEntry.nextElement().toString());
}
System.out.println(fileNameList.contains("com/sun/xml/ws/binding/Bind.class"));
//org/apache/poi/hssf/record/aggregates/

我试图让它更容易理解

顺便说一句,引入数组列表是完全没有必要的

    Enumeration<JarEntry> myEntry = jar.entries();
while(myEntry.hasMoreElements())
{
System.out.println(myEntry.nextElement().toString().equals("org/apache/poi/hssf/record/aggregates/"));
}

关于java - 如何在 JAR 中搜索文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22233281/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com