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 ;
}
Java에 내장된
IO
을 통해 원격 시스템에 직접 파일을 쓸 수 없습니다.FTP
메소드를 사용하여 서버에 파일을 쓸 수 있습니다.FTP클라이언트예
네트워크 IO, 소켓