//生成xml文件
         FileOutputStream fos = new FileOutputStream("data.xml");
         output = new XMLWriter(fos, format);
            output.write(doc);
            output.close();
上面是用dom4j创建xml文件.  项目部署到tomcat. 通过flex远程调用请求此方法(blazeDS).
不知道为什么文件会生成在bin目录下. 请问有什么办法可以把文件生成在项目路径下?另外一个普通java项目,在main方法测试时,文件会在根目录创建.这只是普通java类. 请问此问题如何解决....

解决方案 »

  1.   

    FileOutputStream("data.xml");这里是相对路径,相对于bin目录
    如果需要生成到指定目录需要绝对路径
      

  2.   

    比如要写到c盘去FileOutputStream("c:/data.xml");这样就可以了或者写到项目的某个地方application.getRealPath("/")+"/data/data.xml"写到项目的data文件夹下
      

  3.   

    flex 页面中创建好文件File 传过来如 String filepath = "/exl/data.xml";
    File f = new File(filepath );f 传至java 方法中
      

  4.   

    public static String xmlpath = "";

    static
    {
    //xmlpath =  Main.class.getResource("/").getPath() +  "aaa.xml";
    File f = new File("c:/test");
    if(!f.exists())
    {
    f.mkdir();
    }
    xmlpath = "c:/test/aaa.xml";
    }
    这个是创建在C盘的根目录下,如果你想放在你的项目下,直接给xmlpath赋值绝对路径就ok啦!