我想要让用户输入改变一些配置,我这个文件是和类放在同一个目录的,当读取这个类时,不论我是在eclipse(没有导出成jar包)还是导出成jar包,我都可以通过类路径读取.但是当我要向这个文件写入内容,我不知道该怎么做?要求不论是导出成jar包,还是没有导出成jar包,都能向这个文件写入

解决方案 »

  1.   

    http://topic.csdn.net/t/20030115/00/1359235.html
    不知道这个帖子能否帮的上忙
      

  2.   

    只要你文件位置 跟路径写对了.  就没问题..        写文件 就直接用 FileWritwer 就行了啊.  会读当然能写啊..
      

  3.   

    把经常变化的文件的内容写入到jar文件中这个想法是不是不好啊
      

  4.   


    稍微有些不同的是,你需要先创建一个临时文件,该文件内容包括原文件内容和你要修改的内容,然后参照上面的那个帖子将1楼的帖子写入jar文件。另外还有一个问题就是你需要判断该文件是在一个jar文件或者是一个目录文件?这个可以google找一下看看有没有答案
      

  5.   

    打包成jar不好对jar内部文件进行读写了,虽然有JarOutputStream来专门处理jar文件,但是jar文件的处理方式其实就是zip的处理方式。
    读写一般针对整个文件进行,不能很好的处理对某一段进行的读写,特别是当你的程序还是运行在这个jar包上的时候,更不好读写了。
      

  6.   

    最好是把配置文件  单独拿出来..      用一个 .ini 或者 .cfg 文件代替.   生成的jar 直接 读这个ini 就好了. 外部这样比较好.
      

  7.   

    如果不打包成jar,用户就容易更改这个内容,我不想要用户更改,所以我想把这些文件打包
    目前实现这样的功能,最流行的做法是什么?
      

  8.   

    你试过没?如果当你打包成jar后,就找不到这个文件.不知你怎么能找到这个文件的?
      

  9.   

    http://topic.csdn.net/u/20081022/12/4142a69e-ddb7-47da-9505-3db7e00bf7be.html
    你所運行的對象
    obj.getClass().getProtectionDomain().getCodeSource().getLocation().getPath()
    取得絕對路徑,再讀寫此路徑下的配置文件便可
      

  10.   


    可修改的配置文件存到jar档中不是好办法。jar档中倒是可以存放一个有默认值的配置文件。用户配置后存放到用户文件夹或应用程序文件夹中。如果出于保密需要,最好用别的办法。而不是打jar档主意。
      

  11.   

    我试了一下,当导出成jar包后,你这个路径就是jar的路径,如果再在jar的路径后加上配置文件的路径,系统出错:找不到这个文件.
      

  12.   


    文件内容不多的话,直接放到注册表里吧。
    一般也能给用户看到,但能通过文件创建时间和大小控制,你修改后的文件都不认可,采用default值呗。也可以合并使用:
    修改的内容还在文件里,但文件的创建时间和修改时间,大小放在注册表。
    程序取值时,进行判断。认为合法的,就可以修改内容参数,否则skip.什么jar文件不jar的。关键是思考问题的思路,不要太狭窄在java内。
      

  13.   

    ...我知道...而且前面還有"file:/"
    老大,你不會做手腳啊?