一个用于在一堆zip/jar文件中查找某一个类的程序

作者: sonymusic
标题: 一个用于在一堆zip/jar文件中查找某一个类的程序
关键字: Java Zip 查找
分类: 示例代码
密级: 公开
(评分: , 回复: 0, 阅读: 142)  »»

可随意转载,但请注明出处及作者
SonyMusic
2003.05.28
==========================================================================
一个用于在一堆zip/jar文件中查找某一个类的程序

package sony.utils;

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

/**
 * @author SonyMusic
 *
 * 很简单,但可能会很有用的程序,用于在指定目录下的所有zip/jar文件中查找某个类.<br>
 * 至少我觉得是用的,呵呵。有时面对着jrun那一堆.jar文件中,想找到某个类还真不容易。<br>
 * <b>usage:</b> java sony.utils.FindClass baseDir className
 */
public class FindClass {

 public static void main(String[] args) {
   if(args.length!=2){
     printUseage(-1);
     return;
   }
   File base=new File(args[0]);
   if(!base.exists()){
     System.out.println("Base Dir not exist!");
     printUseage(-2);
   }
   if(!base.isDirectory()){
     System.out.println("Base Dir is a file!");
     printUseage(-3);
   }
   List zipList=getSubJarFiles(base);
   ZipFile zfile=null;
   try {
     int fCount=0;
     for (int i = 0; i <zipList.size(); i++) {
       zfile=new ZipFile((File)zipList.get(i));
       Enumeration enum=zfile.entries();
       while (enum.hasMoreElements()) {
         ZipEntry ze = (ZipEntry) enum.nextElement();
         if(matchEntry(ze, args[1])){
           System.out.println("Found in zip/jar file: "+zfile.getName()+"/tFileName:"+ze.getName());
           ++fCount;
           break;
         }
       }
     }
     if(fCount==0){
       System.out.println("not found. maybe BaseDir or ClassName is not correct.");
       printUseage(0);
     }
     else{
       System.out.println("Found "+fCount+" zip/jar file(s)");
     }
   }
   catch (Exception e) {
     e.printStackTrace();
     printUseage(-10);
   }
 }
 
 private static void printUseage(int retStatus){
   System.out.println("useage: java sony.utils.FindClass baseDir className");
   System.out.println("/tbaseDir: where you want to find. e.g. d://web//web-inf//lib");
   System.out.println("/tclassName: waht you want to find. e.g. HttpServlet");
   System.out.println();
   System.exit(retStatus);
 }
 
 private static List getSubJarFiles(File baseDir){
   List ret=new ArrayList();
   //File base=new File(baseDir);
   File[] tmp=baseDir.listFiles(fileFilter);
   for (int i = 0; i <tmp.length; i++) {
     if(tmp[i].isFile()){
       ret.add(tmp[i]);
     }
     if(tmp[i].isDirectory()){
       ret.addAll(getSubJarFiles(tmp[i]));
     }
   }
   return ret;
 }
 
 private static boolean matchEntry(ZipEntry ze, String className){
   StringTokenizer st=new StringTokenizer(ze.getName(), "/");
   String fileName=null;
   while (st.hasMoreTokens()) {
     fileName=st.nextToken();
   }
   if(fileName.equals(className+".class")){
     return true;
   }
   else return false;
 }
 
 private static FileFilter fileFilter=new FileFilter(){
   public boolean accept(File pathname) {
     String tmp=pathname.getName().toLowerCase();
     if(tmp.endsWith(".jar") || tmp.endsWith(".zip")){
       return true;
     }
     return false;
   }
 };
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 此文件不是一个口令保护的zip/rar文件。口令保护的zip或rar文件是一种常见的文件压缩格式,用于保护文件的安全性,只有输入正确的口令才能解压缩获取文件内容。这种保护方式可以防止未经授权的人员获取文件内部的敏感信息。 然而,本文件并未使用口令进行保护,意味着任何人都可以直接解压缩文件并访问其的内容,无需输入任何密码。这可能是因为文件的作者或发送者并未进行安全措施,或者文件本身并不包含敏感信息。 在实际应用,我们经常会遇到需要保护文件安全性的情况,特别是在传输或存储敏感数据时。为了确保文件的安全,我们可以使用加密算法对文件进行加密,或者使用口令保护文件进行压缩。通过设置强密码来防止未授权访问,增加文件的安全性。 如果您收到了需要保护的文件,并且确认它没有设置口令保护,请谨慎对待文件内容,尤其是对于可能包含个人、机密或重要信息的文件。确保在传输或存储过程采取适当的安全措施,以保护您的个人隐私和数据安全。 ### 回答2: 根据题目提供的信息,该文件不是一个口令保护的zip/rar文件。口令保护是一种常用的文件保护方式,它通过设置一个密码来限制对文件的访问和解压。如果文件是口令保护的zip/rar,那么我们就需要输入正确的密码才能正常打开和解压文件。 通常,有几种方式可以判断一个文件是否口令保护的zip/rar: 1. 文件扩展名:zip文件的扩展名通常是.zip,而rar文件的扩展名通常是.rar。如果文件的扩展名不是.zip或.rar,那么它可能不是一个口令保护的压缩文件。 2. 无法正常打开:口令保护的zip/rar文件在未输入正确密码的情况下是无法正常打开的。如果我们尝试打开该文件,但没有要求输入密码,那么它可能没有经过口令保护。 3. 压缩文件信息:我们可以通过查看文件属性或使用压缩软件的属性信息功能来获取文件的详细信息。如果文件的属性信息没有提及口令保护或加密,那么它很可能不是一个口令保护的压缩文件。 需要注意的是,虽然该文件不是口令保护的zip/rar文件,但它可能采用了其他的加密或保护方式来保持文件的安全性。如果我们需要进一步了解该文件的保护方式,可以尝试查看文件属性或咨询文件的提供者。 ### 回答3: 此文件不是一个口令保护的zip/rar,意味着该文件未经口令加密。口令保护是一种常见的安全措施,用于文件压缩成zip或rar格式,并为其设置一个口令,以防止未经授权的访问。 文件经过口令保护后,只有知道正确口令的人才能解压缩和查看文件内容。口令通常由用户在创建zip/rar文件时自行设定,并需要确保口令的复杂性和机密性,以增加文件的安全性。 然而,如果文件不是一个口令保护的zip/rar,即未设置口令或未进行加密,任何人都可以轻松地解压缩和查看其的内容。这意味着该文件的隐私和机密性受到威胁,可能面临信息泄露和未经授权的使用风险。 因此,如果您需要确保文件的安全性和保密性,建议使用压缩软件创建一个口令保护的zip/rar文件。在设置口令时,请选择强密码,包含字母、数字和特殊字符,并定期更改密码以提高安全性。这将有效地防止未经授权的访问,并保护您的文件免受潜在的威胁。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值