问题:
将java程序编译后打包成.jar文件,同时jar文件里存有文本文件(里面存放着数据),现在开始执行.jar文件,程序读取了文本文件里的数据后,将数据修改后,如何将数据写出到该文本文件中并保存?如何对.jar中的文本文件进行删除,创建,修改等操作(注:在.jar运行程序中进行)
最好能给出个例子+注释,新手,谢谢各位大虾

解决方案 »

  1.   

    我觉得楼主这个问题有点。
    就比如说吧,你开发一个windows的应用程序,打包后成为一个exe的安装程序A
    ,然后将A安装好之后,一般都会有对应的该软件的文件夹。简言之:一个软件一般来说不仅仅只有一个exe文件吧?
    至于jar的问题与上述类似。楼主,你明白我的意思吗?
      

  2.   

    补充:
    那个txt文件完全可以和jar文件分离出来,然后放至同一目录下,不是一样能用吗?
      

  3.   

    刚做了一个相关的,主要是路径的问题
    filePath = this.getClass().getClassLoader().getResource("").getPath();
    这个得到jar文件所有的路径,然后你根据你相应的文件夹去加上路径,就可以得到文件了,然后就你正常一样的去操作文件就行了.
    如果文件是在包中的,那么com.aaa.ee就要换成com/aaa/aa这样的路径了.
    filePath +"/"+"com/aaa/aa/"+文件名称.
      

  4.   


    我知道这个路径问题,我读取文件的时候,就必须要这样,不过我用的是
    InputSteam input=getClass().getResourceAsStream("路径/文件名");
    问题是,我想修改.jar文件中的文本文件不分离不行么?
    .jar文件是执行文件,不还是一种压缩文件么,可不可以将.jar中的txt文件单独解压、修改?
      

  5.   

    所有类都在缺省包中,我把这个包打成.jar文件,和.txt文件分离,然后我再建一个文件夹,把.jar文件和.txt文件放在同一个文件夹里,让.jar文件对txt文件进行操作。我如何获取路径和打包,并且当新建的文件夹改名时,不影响程序的进行和对txt文件的操作?
    getClass().getResource("../shuju.txt") )
      

  6.   

    放在同一个.jar中,不能修改txt了,将.jar和txt分离开,然后放在同一个文件夹内
      

  7.   

    不能修改和删除,只能分离出来txt
      

  8.   

    为什么我把.java全部放到一个包中,编译成功,导出的.jar不能运行啊,点击根本没反应
      

  9.   

    我到底怎么才能够让.jar来操作同文件夹内(不受文件名的限制,防止修改了文件名,就不行了)的txt文件
      

  10.   

    开始——运行——cmd——   java -jar xxxx.jar
    看看什么提示?一般都是路径问题
      

  11.   

    jar 包里的文件是不允许修改的,,你看下,,里面所有的东西都是只读,,
    只能想办法把,,数据方法在外面,,,
    可以 通过
    System.getProties("user.dir");
    来获取服务运行的目录,然后在去定义个data或者config目录
    不就可以了吧
      

  12.   


    StringBuffer str=new StringBuffer();
    String str1;try
    { BufferedReader br = new BufferedReader( new FileReader("Data.txt"));

    while( (str1=br.readLine())!=null){
    str.append(str1);
    }
    br.close();

    str1=str.toString();
                            BufferedWriter bw=new BufferedWriter(new FileWriter("Data.txt"));
    bw.write(str.toString());     
            bw.close();
    }catch{}