创建根节点

Element root= new Element("root");

//创建报文体
 Element body = new Element("body");

//添加子节点并赋值

body.addContent(new Element("SEQ_NO").setText(""));

//获取已存在的节点并赋值(只能一层一层的获取)

body.getChild("SEQ_NO").getChild("SEQ_NO2").setText(""));;

//获取已存在的节点的值

String str=Message_Body.getChildText("EP_DEC_HEAD");
  //根节点(报文)添加到文档中;  
 Document Doc = new Document(root);

//自定义报文名字

String FileName = "EMVS_EP_3120980024_"+hm.get("CONTR_NO")+"_"+BIZ_TYPE+"0_"+nowTime+".DEC";

//输出报文到项目WebRoot目录

      Format format = Format.getPrettyFormat();
           XMLOutputter XMLOut = new XMLOutputter(format);
            //XMLOut..setEncoding("utf-8");Doc.setXMLEncoding("gb2312");
            //获得WebRoot路径
           // ServletConfig servletConfig=(ServletConfig).getServletContext().getAttribute("servletConfig");
            String webRootPath=request.getSession().getServletContext().getRealPath("/");
            String uploadPath="download\\dadan\\";
            //uploadPath附加传入的路径,组成一个上传的完整路径
            uploadPath=webRootPath+uploadPath;
            XMLOut.output(Doc, new FileOutputStream(uploadPath+fileName));

//利用ftp发送文件到指定文件夹

File file = new File(uploadPath+fileName);
            FTPFunc fTPFunc = new FTPFunc();
            fTPFunc.connect("send");
            fTPFunc.upload(file);

ftp连接,上传,下载工具类

package com.util;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.ArrayList;

import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPFile;
import org.apache.commons.net.ftp.FTPReply;

import seastar.servlet.demand.Utils;
@SuppressWarnings("all")
public class FTPFunc {
    
    private static FTPClient ftp;
    
    /**  
     * 使用默认服务器和端口进行连接
     * @param path 上传到ftp服务器哪个路径下       
     * @return  
     * @throws Exception  
     */
    public boolean connect(String path) throws Exception {      
        boolean result = false;      
        ftp = new FTPClient();      
        int reply;
        String ftp_address = Utils.getProperty("ftp_address");
        int ftp_port = Integer.parseInt(Utils.getProperty("ftp_port"));
        String ftp_username = Utils.getProperty("ftp_username");
        String ftp_password = Utils.getProperty("ftp_password");
        ftp.connect(ftp_address,ftp_port);     //测试环境FTP
        ftp.login(ftp_username,ftp_password);    //测试环境用户名密码
        /*ftp.connect("10.10.123.**",21); //测试FTP地址
        ftp.login("test","aaa@2468");    //测试FTP用户名密码

ftp.setFileType(FTPClient.BINARY_FILE_TYPE);
        ftp.enterLocalPassiveMode();
        reply = ftp.getReplyCode();
        if (!FTPReply.isPositiveCompletion(reply)) {      
            ftp.disconnect();
            return result;
        }
        ftp.changeWorkingDirectory(path);
        result = true;
        return result;
    }
    
    /**  
     *   
     * @param path 上传到ftp服务器哪个路径下     
     * @param addr 服务器的IP地址
     * @param port 端口号
     * @param username 用户名  
     * @param password 密码  
     * @return  
     * @throws Exception  
     */    
    public boolean connect(String path,String addr,int port,String username,String password) throws Exception {      
        boolean result = false;      
        ftp = new FTPClient();      
        int reply;      
        ftp.connect(addr,port);      
        ftp.login(username,password);      
        ftp.setFileType(FTPClient.BINARY_FILE_TYPE);
        ftp.enterLocalPassiveMode();
        reply = ftp.getReplyCode();      
        if (!FTPReply.isPositiveCompletion(reply)) {      
            ftp.disconnect();      
            return result;
        }
        ftp.changeWorkingDirectory(path);
        result = true;      
        return result;      
    }

/**  
     *   
     * @param file 上传的文件或文件夹  
     * @throws Exception  
     */    
    public void upload(File file) throws Exception{      
        if(file.isDirectory()){           
            ftp.makeDirectory(file.getName());                
            ftp.changeWorkingDirectory(file.getName());      
            String[] files = file.list();             
            for (int i = 0; i < files.length; i++) {      
                File file1 = new File(file.getPath()+"\\"+files[i] );      
                if(file1.isDirectory()){      
                    upload(file1);
                    ftp.changeToParentDirectory();      
                }else{                    
                    File file2 = new File(file.getPath()+"\\"+files[i]);      
                    FileInputStream input = new FileInputStream(file2);      
                    ftp.storeFile(file2.getName(), input);      
                    input.close();                            
                }                 
            }      
        }else{      
            File file2 = new File(file.getPath());      
            FileInputStream input = new FileInputStream(file2);
            String aString = file2.getName();
            ftp.storeFile(aString, input);      
            input.close();        
        }      
    }    
    
    /**
     * 上传单个文件
     * @param file 需要上传的文件
     * @param changeFileName 是否需要变更文件的名称
     * @return 返回FTP上文件的名称
     * @throws Exception
     */
    public String upload(File file, boolean changeFileName) throws Exception{      
        if(file.isFile()){
            File file2 = new File(file.getPath());      
            FileInputStream input = new FileInputStream(file2);    
            String saveFileName = file2.getName();
            
            if(changeFileName)
            {
                //找到文件的扩展名
                int ipos = saveFileName.indexOf(".");
                String strExtName = saveFileName.substring(ipos,saveFileName.length());
                
                //用新的文件名保存上传的文件
                saveFileName = PBMeth.getTimeString()+strExtName;
                ftp.storeFile(saveFileName, input);
            }
            else //否则用原有的文件名长传文件
            {
                if(file.exists()) //如果文件存在就返回2
                {
                    return "1";
                }
                
                ftp.storeFile(saveFileName, input);                
            }
            
            input.close();

return saveFileName;
        }
        else
        {
            return "0";
        }        
        
    }   
    
    /**  
     *   
     * <p>删除ftp上的文件</p>  
     * @param srcFname
     * @return true || false  
     */  
     public boolean removeFile(String srcFname){
        boolean flag = false;
        if(ftp != null)
        {
            try
            {
                flag = ftp.deleteFile(srcFname);     
            }
            catch (IOException e)
            {
                e.printStackTrace();
            }
        }
        
        return flag;   
    }   
     /**  
      * 连接到FTP的方法
      * @param addr 服务器的IP地址
      * @param port 端口号
      * @param username 用户名  
      * @param password 密码  
      * @param path FTP的目录  
      * @return  
      * @throws Exception  
      */    
     public boolean getConnectionFTP(String addr,int port,String username,String password,String path,FTPClient ftp) throws Exception {      
         boolean result = false;      
         int reply;      
         try {
               ftp.connect(addr,port);      
            ftp.login(username,password);      
            ftp.setFileType(FTPClient.BINARY_FILE_TYPE);
            ftp.enterLocalPassiveMode();
            reply = ftp.getReplyCode();      
            if (!FTPReply.isPositiveCompletion(reply)) {      
                ftp.disconnect();      
                return result;
            }
            ftp.changeWorkingDirectory(path);
            result = true;
        } catch (Exception e) {
            e.printStackTrace();
            return false;
        }
        return result;      
     }
     //获得文件列表
     public ArrayList<String> getFTPFileList(FTPClient ftp) {
        ArrayList<String> fileNameList = new ArrayList<String>();
        try {
            FTPFile[] fs = ftp.listFiles();//获得文件列表
            for (FTPFile file : fs) {
                fileNameList.add(file.getName());//获得文件名称组成的list
            }
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
        return fileNameList;
    }
     //是否成下载FTP文件到本地
     public Boolean downloadFromFTP(String localPath,String fileName,FTPClient ftp) {
        try {
             File localFile = new File(localPath+fileName);
             OutputStream is = new FileOutputStream(localFile);
             ftp.retrieveFile(fileName, is);//循环取得文件并写到指定本地路径
             is.close();
        } catch (Exception e) {
            e.printStackTrace();
            return false;
        }
        return true;
     }
     //删除指定名称的FTP上的文件
     public Boolean deleteFromFTP(String path,String fileName,FTPClient ftp) {
         boolean result = true;
         try {
             result = ftp.deleteFile(path+fileName);//删除FTP上的文件
         } catch (Exception e) {
             e.printStackTrace();
             return false;
         }
         return result;
     }

public void doConnectAndUpload(String string, File file) throws Exception{
        FTPClient ftp1 = new FTPClient();      
        int reply;
        ftp1.connect("120.55.192.123",21);
        ftp1.login("administrator","Regs@2016");
        
        /*ftp1.connect("61.152.176.30",21);
        ftp1.login("EMVSXZGJ","EMVS123");*/      
        
        ftp1.setFileType(FTPClient.BINARY_FILE_TYPE);
        ftp1.enterLocalPassiveMode();
        reply = ftp1.getReplyCode();
        if (!FTPReply.isPositiveCompletion(reply)) {      
            ftp1.disconnect();
            return;
        }
        //ftp1.changeWorkingDirectory(string);
        
        File file2 = new File(file.getPath());      
        FileInputStream input = new FileInputStream(file2);
        String aString = file2.getName();
        //ftp1.setControlEncoding("UTF-8");
        
        boolean aa = ftp1.storeFile(new String(aString.getBytes("UTF-8"),"iso-8859-1"),input);//iso-8859-1
        System.out.println(aa);
        boolean a = ftp1.storeFile(aString, input);
        System.out.println(a);
        input.close();
        ftp1.logout();
    }
     
     
     
}

转载于:https://www.cnblogs.com/hmpcly/p/9516011.html

生成xml报文方法并输出相关推荐

  1. java生成报文_生成xml报文方法并输出

    创建根节点 Element root= new Element("root"); //创建报文体 Element body = new Element("body&quo ...

  2. python读xml文件生成头文件_Python根据指定文件生成XML的方法

    因项目需要根据指定格式的文件生成XML标注文件,可以方便使用LabelImg打开进行编辑和查看.其原始文件默认使用逗号进行分隔,如下所示: 第1个值:原始图片中切图小文件,以AIpng_x,其中x代表 ...

  3. python生成xml文件工具_Python根据指定文件生成XML的方法

    因项目需要根据指定格式的文件生成XML标注文件,可以方便使用LabelImg打开进行编辑和查看.其原始文件默认使用逗号进行分隔,如下所示: 第1个值:原始图片中切图小文件,以AIpng_x,其中x代表 ...

  4. pythonxml格式化_使用Python生成XML的方法实例

    本文实例讲述了使用Python生成XML的方法.分享给大家供大家参考,具体如下: 1. bookstore.py #encoding:utf-8 ''' 根据一个给定的XML Schema,使用DOM ...

  5. 用linq 生成xml的方法以及添加注释的方法

    private void button15_Click(object sender, EventArgs e) {XElement myE = new XElement("书柜", ...

  6. php如何新建xml文件,PHP中的生成XML文件的4种方法分享

    生成如下XML串 Xml代码 title1 content1 2009-10-11 title2 content2 2009-11-11 方法I.[直接生成字符串]使用纯粹的PHP代码生成字符串,并把 ...

  7. Jaxb对xml报文头的小修小改

    前言: 也是在实际工作中, 借助jaxb来实现xml到java对象的映射转换. 在实际应用中, 也遇到了一些有趣好玩的东西, 权当记录下来. 本文主要讲解jaxb如何生成约定的xml报文头的实现思路, ...

  8. 利用dom4j将实体类转换为对应的xml报文

    利用dom4j生成xml报文 目标格式: <?xml version="1.0" encoding="GBK"?><Packet type=& ...

  9. jaxb xsd生成xml_使用JAXB从XSD生成XML

    jaxb xsd生成xml 这是最初由JCG合作伙伴 Experiences Unlimited的Mohamed Sanaulla发表的帖子. Mohamed解释了如何使用JAXB从给定的XSD生成X ...

最新文章

  1. What is OPcache
  2. python进制转换内置函数_python数学运算、逻辑运算和进制转化相关的 内置函数...
  3. Android UI 优化——使用HierarchyViewer工具
  4. python import 路径设置
  5. 只需修改一个像素,让神经网络连猫都认不出 | 论文+代码
  6. 58、什么是断言?应用场景?
  7. 配置LANMP环境(9)-- 安装Git与vsftp
  8. 求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。
  9. 最简单的Gif生成工具,ScreenToGif操作指南(一)
  10. 语音合成1700多个中文音频
  11. 种草电商系统种草电商系统开发解决方案
  12. html5 报表erp案例,SpreadJS 纯前端表格控件应用案例:集成 Odoo 提升企业ERP表格功能...
  13. 传统家装有落差,VR全景家装让你体验新房落成效果
  14. 用Python搞定豆瓣上征婚交友的小姐姐们~
  15. 练习4-7 求e的近似值
  16. 阿斯利康助力无锡国际生命科学创新园全面启用;艾仕得上海嘉定工厂进一步扩大 | 美通企业日报...
  17. 如何使用WordPress建立亚马逊会员商店
  18. python使用手册
  19. 闲来无事,过了三天“神雕侠侣”的生活
  20. cms-详细页面-1

热门文章

  1. Android MultiPart图像上传进度改造NodeJS
  2. Hadoop 2.x MapReduce(MR V1)字数统计示例
  3. java 配对问题_Java中的配对类是什么?
  4. 转:C++中STL用法总结
  5. 17秋 软件工程 团队作业 同学录
  6. SQLSERVER中如何快速比较两张表的不一样
  7. 线程池(领导者-追随者,生产者-消费者等)小结
  8. systemverilog编译介绍
  9. Leetcode 746.使用最小花费爬楼梯
  10. 高斯过程回归(Gaussian Process Regression) 粗理解