解决方案 »

  1.   

    class.getResource获取的是CLASSPATH路径下的文件
    你可以sout看一下,保存的文件不是在工程目录下,所以原文件没有变文件A。
    后来保存的文件B是新生成的文件,在classes文件夹下,如果想变成相对于工程路径保存文件就直接new File(文件相对于工程目录)

    new File("src/main/java/info.properties")
      

  2.   

    修改了啊,你再试试看,执行完程序刷新下文件所在的磁盘
    #Update lastModifyTime
    #Mon Aug 25 13:57:58 GMT+08:00 2014
    lastModify=2014-09-05
      

  3.   


    你说的确实是更新了,但是有一个很奇怪的问题,我原本的文件是放在src目录下的,src目录下的文件内容没有改变,但是bin目录下的properties文件中的确实更改了,这个是咋回事儿呢?为什么不是更改src目录下的呢?
      

  4.   


    我这个文件本身是放在src目录下的,如果我要那么做的话,改使用new fiel?
      

  5.   


    我这个文件本身是放在src目录下的,如果我要那么做的话,改使用new fiel?
    还有一个问题,如果获取的是classpath路径下的,那么我第一次获取到的就应该没有值呀?但是我确可以得到值,这个是为啥呢?
      

  6.   

    看一楼的解释,Class 的 getResource 方法获取的是默认的执行路径下面的文件,也就是class所在目录的文件
    普通java工程,class文件会产生在同src同目录的bin目录下面
    如果想更改src下面的,可以使用绝对路径
    或将文件放在src目录外,也就是工程名下面,使用
    InputStream input= new FileInputStream(new File("info.properties")); 和 
    FileOutputStream out=new FileOutputStream(new File("info.properties")); 去读取和写入
    这样就是操作同一个文件了
      

  7.   


    我这个文件本身是放在src目录下的,如果我要那么做的话,改使用new fiel?
    还有一个问题,如果获取的是classpath路径下的,那么我第一次获取到的就应该没有值呀?但是我确可以得到值,这个是为啥呢?
    可能我没有说明白,java编译的时候会把配置文件和编译文件放到CLASSES文件夹下。你编译操作的是CLASSES文件夹下的文件。