我做了一个生成xml的方法,在本地测试能够创建文件并输入内容,但是我把方法 放到web应用中启动服务器(比如放到action)从页面点击执行该方法却无法创建xml文件。后经测试
  File f = new File("user.xml");
     System.out.println( f.createNewFile());
把以上代码放到main方法中输出TRUE,但把其放在Action中却显示false 这是为什么啊 请指教,难道在web应用中不能访问本地文件吗?

解决方案 »

  1.   

    File f = new File("user.xml"); 到这个方法在main函数里时。就回去找本项目src下的文件(user.xml).但是你用了action去处理请求的时候。这个项目就发布在你的服务器上了。我就拿tomcat来说。当你发布在tomcat的时候。user.xml就不再是在src下了。就是在classes文件夹下了。就找不到user.xml
    ,也就是f对象是一个空的。f.createNewFile();----这肯定是false啊。你要用action处理。就要加上路径。
      

  2.   


    4楼说的对,你的项目发布到Tomcat下了,user.xml被编译在classes文件夹下了,Tomcat去解析user.xml文件,就会发现文件不存在了。。
      

  3.   

    以前遇到过此问题, 先测试一把, 看看绝对路径是什么,然后再把绝对路径+相对路径放进去就OK!
    System.out.println(System.getProperty("user.dir"));