解决方案 »

  1.   

    也不是用法不对啊,郁闷很,在java项目里面就可以正常的。看来还是web项目里面的路径问题public class TestProperties
    {
    public static void main(String[] args) throws FileNotFoundException, IOException
    {
    // create();
    update();
    } private static void update() throws FileNotFoundException, IOException
    {
    Properties properties = new Properties();
    properties.load(new FileInputStream("t.properties")); System.out.println(properties.get("b1")); properties.setProperty("b1", "22");
    properties.store(new FileOutputStream("t.properties"), "update");
    } private static void create() throws IOException, FileNotFoundException
    {
    Properties properties = new Properties();
    properties.setProperty("b1", "1111");
    properties.store(new FileOutputStream("t.properties"), "init");
    }
    }
      

  2.   

    如果unix环境下运行,一般会取绝对路径,还可以用Java针对路径写个方法来处理它。
    给你思路,想想解决方法。
      

  3.   

    Quote: 引用 2 楼 dawei_li 的回复:

    如果unix环境下运行,一般会取绝对路径,还可以用Java针对路径写个方法来处理它。
    给你思路,想想解决方法。
      

  4.   


    可能我自己表达的不是很清楚,手头常用的有2种部署测试:一种是在tomcat的配置文件直接写入项目路径
    <Context path="/ccb1" docBase="F:\ccb1\WebRoot" reloadable="true"/>
    这样的我还好理解些,不管怎么操作都能在F:\ccb1下操作,唯独启动后要是把配置文件写在src下了,在classes里面应该没有,要是不启动myeclipse,似乎就不会复制过去。一种是用直接用myeclipse的部署工具,因为这个可以解决有时候引用myeclipse的包没有导入到lib下面的问题,但是不影响代码的继续编写,最近偷懒用这个的,发现似乎路径更乱了,所有的.java在项目目录里面,但是编译后的.class都到了tomcat下面的webapps里面复制了一份去运行了。
    所以这个时候更费解了,如果部署了,是该写到tomcat\webapps\项目名\下面的对应目录呢(这个路径我还真不知道到哪里去找的,如果不是自己本地硬盘的话);还是应该写到???(真心不知道写哪里了)昨天参考了一部分资料,上面很推荐以classes去定位个绝对地址,这个定位很稳定的。我自己去尝试这条但是我更希望得到答疑上面自己的疑惑!!!
      

  5.   

    结贴了,现在已经全明白了,要想部署完毕在运行期生成向导模式写配置文件,
    那么必须考虑保存在   “WebRoot”下             在"WebRoot\WEB-INF\classes"上再深层classes下不叫我访问,即使相对路径转换为绝对路径
    而WebRoot下用户可以所以访问到,当然可以过滤器,但是本着能省就省的原则,多一事不如少一事
    那么就剩下WEB-INF下了,所以我自己就写一个类,以classes取得绝对路径,然后向上一层,进入自己的目录,以后自己的配置文件都集中到自己目录了,这样似乎还便于管理了。