我想在程序运行期间动态的创建文件到JAR包
包目录结构如下
     files/
     mian/main.java
我想做的就是创建一个a.txt文件到JAR包的files文件夹下
注意:1.是JAR包的files目录下
      2.是动态创建的
      3.该JAR包就是正在运行的程序包

解决方案 »

  1.   

    jar包是zip格式的,用zip函数就行了。
      

  2.   

    能创建文件到zip文件内部目录中吗?
      

  3.   

    可以,但是没试过是不是对执行中的jar会不会有IO异常。
      

  4.   

    可以写入目录,但不能写入文件。而且覆盖了原来的JAR文件
    与其说是添加,倒不若说是新建一个JAR
      

  5.   

    新建一个jar和原来内容一致有什么问题吗。
      

  6.   

    新建一个JAR能强制覆盖正在运行的JAR文件吗?
      

  7.   

    jar文件执行的时候是调用到内存里执行吧,没加锁的话可以覆盖掉。
      

  8.   

    jdk搜JarFile就行 jdk有现成的方法
      

  9.   

    我自己搞出来了来,代码还没写出来,先说个流程图吧之前先纠正一下以前的错误,用现有文件全名创建文件实例并不会覆盖原文件,只有以非追加的方式打开文件输出流时,才会发现原文件被覆盖流程图如下:
    1.复制正在运行的JAR文件到指定目录(若无则创建)(本操作被windows系统允许,不会抛出异常)2.以正在运行的JAR文件全名称创建JarFile实例3.打开复制JAR输入流,读取Entry及数据到新建的JarFile实例中(该操作强制覆盖正在运行的文件,有可能被操作系统阻止,所以冒险而为,也只能算个人能力有限,无法得到更好地方法。该方法在xp系统中运行正常),本步骤不能操作最后,只能关闭复制JAR文件的输入流,不能关闭创建JAR的输入流,否则结果文件将被覆盖。4.打开要添加文件的输入流,读取数据到创建JAR文件的输入流中。操作完成,关闭添加文件输入流,关闭创建文件输入流5.删除复制JAR流程图还不完善,给位可以自行修改完善。
    由于没有人解决我的问题,只能按各人所出的力,多劳多得,就此结贴