System.getProperty("user.dir");//这个方法可以得到我点击的jar运行文件所在的目录,但我要得到的路径是这个jar包里面的,虽然jar包里面的目录结构可以认为是一定的且已知的,问题是这个jar文件本身的文件名可以随意改动,这样我要指向这个jar包里面的文件的话就不行了,忘各路朋友指点!

解决方案 »

  1.   

    不用安装htmlhelpworkshop,只需要以下四个文件:
    hhc.exe
    Hha.dll
    Hwdll.dll
    Itcc.dll
    用java或其他工具生成项目文件,目录文件和索引文件,命令行调用hhc即可============================================================================
    这里有个问题就是:假如我把上面的几个需要的文件打进jar包,而我的这个jar包存放位置是任意的,那我该怎么用本地的命令来执行hhc.exe呢?主要是这个路径的问题!
      

  2.   

    查一下这个:getClass().getResource();
      

  3.   

    public URL getResource(String name)查找带有给定名称的资源。查找与给定类相关的资源的规则是通过定义类的 class loader 实现的。此方法委托给此对象的类加载器。如果此对象通过引导类加载器加载,则此方法将委托给 ClassLoader.getSystemResource(java.lang.String)。 
    在委托前,使用下面的算法从给定的资源名构造一个绝对资源名: 如果 name 以 '/' ('\u002f') 开始,则绝对资源名是 '/' 后面的 name 的一部分。 
    否则,绝对名具有以下形式: 
       modified_package_name/name
    其中 modified_package_name 是此对象的包名,该名用 '/' 取代了 '.' ('\u002e')。 
    参数:
    name - 所需资源的名称 
    返回:
    一个 URL 对象;如果找不到带有该名称的资源,则返回 null
    从以下版本开始: 
    JDK1.1 
    //****************************************************************
    用这个方法得到一个URL,又转换成URI,用new File(URI)建立文件,报出一个URI is not hierarchical错误,不解,请高手指点下!