首頁  >  問答  >  主體

spring - java 写入xml文件 地址如何设置为局域网内的另一台服务器上

wjgpath是配置文件里的路径,这里是本地G盘,配置如下
wjgpath = G:\\wjgxml\\

/**
     * 输出xml文件到指定目录
     * @param root
     * @return
     */
    private  boolean createXmlFile(int xmlnum , Element root){
        //设置文件编码
        OutputFormat xmlFormat = new OutputFormat();
        xmlFormat.setEncoding("UTF-8");
        // 设置换行
        xmlFormat.setNewlines(true);
        // 生成缩进
        xmlFormat.setIndent(true);
        xmlFormat.setNewLineAfterDeclaration(false);
        // 使用4个空格进行缩进, 可以兼容文本编辑器
        xmlFormat.setIndent("    ");
        SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd");
        SimpleDateFormat formatter1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//        第1到6位为省级行政区划代码;
//        第7到14位为数据交换的日期,表示方法为:YYYYMMDD;
//        第15到20位为顺序号,每天零点置零,以000001为始。
//        举例:WZHY_GSXX_42000020161025000001.xml
        String number = String.format("%06d", xmlnum);
        String base =  ConfigHelper.get("wjgpath")+"/"+ formatter.format(new Date()) +"/"+"tjdata"+"/"+"jbxx"+"/"
                +(formatter.format(startTime)+"-"+formatter.format(endTime))+"/";
        //System.out.println(base);
        //String fileName = "WZHY_GSXX_130000"+ formatter.format(new Date())+number +".xml";

        String fileName = "WZHY_GSXX_130000"+ formatter.format(new Date())+number +".xml";
        String path = base+fileName ;
        File f = new File(base) ;
        if(!f.exists()){ f.mkdirs() ;}
        if(new File(path).exists()){ new File(path).delete() ; }
        try {
            Document document = DocumentHelper.createDocument();
            document.add(root);
            document.setXMLEncoding("UTF-8");

            //创建写文件方法
            FileOutputStream fos = new FileOutputStream(path);
            XMLWriter xmlWriter = new XMLWriter(fos,xmlFormat);

            //写入文件
            xmlWriter.write(document);
            //System.out.println("Encoding : "+document.getXMLEncoding());
            //关闭
            xmlWriter.close();
            return  true ;
        }   catch (Exception e){
            e.printStackTrace();
        }
        return  false ;

    }
黄舟黄舟2765 天前552

全部回覆(2)我來回復

  • 巴扎黑

    巴扎黑2017-04-18 10:51:58

    你無法透過Java內建的IO将文件直接写入远程机器。
    你可以使用FTP的方式將檔案寫到伺服器上。
    FTPClientExample

    回覆
    0
  • PHPz

    PHPz2017-04-18 10:51:58

    網路io,socket

    回覆
    0
  • 取消回覆