用UltraEdit打开class文件,切换到十六进制,从第14个字节开始就是类的名称,如a/b/test,a/b就是package a.b

解决方案 »

  1.   

    写个小程序测试一下就知道
              Package aa = XXXXClass.class.getPackage();
              System.out.println(aa.getName());XXXXClass就是你想要知道的那个Class的名字,
      

  2.   

    to whyxx:XXXXClass怎么生成?
    比如我有一个叫test.class的文件3x
      

  3.   

    你直接运行你想知道包名的class文件就可以看到错误信息
    里面就包含了该class的包路径了
    不需要去写程序
      

  4.   

    上面的方法我很感兴趣,但我没能试出来,实际上那个方法我也没有找到。
    不过搂主完全可以使用javap反编译,很轻松就可以得到包的路径。
      

  5.   

    import java.io.FileInputStream;public class FileClassLoader extends ClassLoader
    {
    public Class getClassForFile(String fileName) throws Exception
    {
    FileInputStream fis = new FileInputStream(fileName);
    byte[] data = new byte[fis.available()];
    fis.read(data);
    fis.close();
    return super.defineClass(null, data, 0, data.length);
    }
    }
    public static void main(String[] args)
    {
    try
    {
    FileClassLoader clw = new FileClassLoader();
    Class c = clw.getClassForFile("d:\\Test.class");
    System.out.println(c.getName());
    }
    catch (Exception e)
    {
    e.printStackTrace();
    }
    }