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

 李国龙度_476 发布于 2022-10-26 03:37

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 ;

    }
2 个回答
  • 网络io,socket

    2022-11-12 01:41 回答
  • 你无法通过Java内置的IO将文件直接写入远程机器。
    你可以使用FTP的方式将文件写到服务器上。
    FTPClientExample

    2022-11-12 01:41 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有