⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jdomparser.java

📁 这是一个实施监控程序, 这是一个实施监控程序,
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
package com.util.task;

import java.io.File;
import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.FileNotFoundException;
import java.io.FilenameFilter;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Iterator;

import java.util.List;


import javax.xml.xpath.XPath;

import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;
import org.jdom.output.Format;
import org.jdom.output.XMLOutputter;



public class JDOMParser {
	
	private String filePath=null;
		//存储包头信息
	private Integer recordNum=new Integer(0); //记录数
	private String type=null; //类型
		/**
		 * 记录数
		 * @return
		 */
	public Integer getRecordNum() {
		return recordNum;
	}
	public void setRecordNum(Integer recordNum) {
		this.recordNum = recordNum;
	}
		/**
		 * 包类型
		 * @return
		 */
	public String getType() {
		return type;
	}
	public void setType(String type) {
		this.type = type;
	}
	public String getFilePath() {
		return filePath;
	}
	public void setFilePath(String filePath) {
		this.filePath = filePath;
	}
	public JDOMParser(){
		
	}
	//解析完数据以后得到 包信息,记录条数  packetInfo,recordList;
		/**
		 * 解析XML文件
		 * @param filepath
		 */
	public List parser(String filePath) {
		//System.out.println("44444444444444 "+filePath);
			//filePath.replace("/", File.separator);
		SAXBuilder sax=new SAXBuilder();
		 Document doc=null; 
		 java.util.List _recList=null;
		 //boolean flag=false;
			try {

				 doc=sax.build(filePath);
				Element root=doc.getRootElement();
				Element head=root.getChild("PacketHead");
				Element recNum=head.getChild("RecordNum");
				Element Type=head.getChild("Type");
				this.setRecordNum(new Integer(recNum.getValue())); //设置数据包头记录数
				this.setType(Type.getValue());						//设置数据包数据类型
				
				java.util.List list=root.getChildren("Record");
				_recList=new java.util.ArrayList(list.size());
				
					for(Iterator it=list.iterator();it.hasNext();){
						Element bean=(Element)it.next();
					//Element FDLX=bean.getChild("FDLX");
					String FDLX=bean.getChildText("FDLX");
					String WZH=bean.getChildText("WZH");
					String JZZL=bean.getChildText("JZZL");
					String DABH=bean.getChildText("DABH");
					String JSZH=bean.getChildText("JSZH");
					String JYBH=bean.getChildText("JYBH");
					String SF=bean.getChildText("SF");
					String CPH=bean.getChildText("CPH");
					String HPZL=bean.getChildText("HPZL");
					String CFSJ=bean.getChildText("CFSJ");
					String WZDD=bean.getChildText("WZDD");
					String FKJE=bean.getChildText("FKJE");
					String WZJF=bean.getChildText("WZJF");
					String WZDM1=bean.getChildText("WZDM1");
					String WZDM2=bean.getChildText("WZDM2");
					String XM=bean.getChildText("XM");
					String XZQH=bean.getChildText("XZQH");
					String FZJG=bean.getChildText("FZJG");
					String JD=bean.getChildText("JD");
					String WD=bean.getChildText("WD");
					Record	record=new Record();
					record.setFDLX(FDLX.charAt(0));
					record.setWZH(WZH);
					record.setJZZL(JZZL);
					record.setDABH(DABH);
					record.setJSZH(JSZH);
					record.setJYBH(JYBH);
					record.setSF(SF);
					record.setCPH(CPH);
					record.setHPZL(HPZL);
					record.setCFSJ(CFSJ);
					record.setWZDD(WZDD);
					record.setFKJE(FKJE);
					record.setWZJF(WZJF);
					record.setWZDM1(WZDM1);
					record.setWZDM2(WZDM2);
					record.setXM(XM);
					record.setXZQH(XZQH);
					record.setFZJG(FZJG);
					record.setJD(JD);
					record.setWD(WD);
					_recList.add(record);
					
					System.out.println("------------"+FDLX);
					System.out.println("------------"+bean.getChild("WZH").getValue());
					System.out.println("------------"+bean.getChild("CPH").getValue());
					}
			//	XPath xpath;
//						try{
					//buildXmlDoc(RECList,SysCunChuGlobal.getBakPath());
//						}catch(IOException io){
//							System.err.println("发生IO 错误,保存备份文件写入失败!");
//						}
				//flag=true;
			} catch (Exception e) {
			
				System.err.println("解析失败!"+e.getMessage());
				return null;
			}
			
			return _recList;
			//return flag;
	}

		/**
		 * 保存解析失败的文件
		 * @param file
		 * @param url
		 */

	public void saveErrFile(File file,String url){
		if(file.exists()&&file.isFile()){
		//	String s=File.separator;
			//System.out.println("-------------"+file.getPath());
			String sub=file.getPath().substring(0,file.getPath().lastIndexOf("\\"));
			//	System.out.println(sub);
			String _typeP=sub.substring(sub.lastIndexOf("\\")+1,sub.length());
			String fullPath=url+"\\"+_typeP;
			File errDir=new File(fullPath);
				if(!errDir.exists()){
					errDir.mkdir();
				}
			String datepath=url+File.separator+_typeP+File.separator+formatDate();
				File dateFolder=new File(datepath);
				if(!dateFolder.exists()){
					dateFolder.mkdir();
				}
				//String errfileName=fullPath+"\\"+"6000"+_typeP+"_"+formatDateTime()+".xml";
				String errFileName=file.getPath().substring(file.getPath().lastIndexOf("\\")+1,file.getPath().length());
				
	
				String _name=datepath+File.separator+errFileName;
				File errFile=new File(_name);
				InputStream in=null;
				OutputStream out=null;
					try{
					
							 in=new FileInputStream(file);
							 out=new FileOutputStream(_name);
							int i=0,j=0;
							int len=new Long(file.length()).intValue();
							
							byte abyte0[] = new byte[65535];
								while(j<len){
									i = in.read(abyte0, 0, 65535);
									j += i;
									out.write(abyte0, 0, i);
								}
								in.close();
							out.close();
						
					}catch(IOException e){
							System.err.println("在写入解析失败的文件时发生异常!"+e.getMessage());
					}finally{
						try{
							if(in!=null)
								in.close();
							if(out!=null)
								out.close();
						}catch(IOException e){
							System.err.println(e.getMessage());
						}
						
					}
//				
			
		}
		
	}
	

    public static int getHours()
    {
        Calendar p = Calendar.getInstance();
        int hours = p.get(Calendar.HOUR);
        int AMPM = p.get(Calendar.AM_PM);
        if (AMPM == Calendar.PM) hours += 12;
        return hours;
    }
    public static int getMinutes()
    {
        Calendar p = Calendar.getInstance();
        return p.get(Calendar.MINUTE);
    }

    public static int getSeconds()
    {
        Calendar p = Calendar.getInstance();
        return p.get(Calendar.SECOND);
    }
	
	public List hasMoreXML(String url){
		File fileDir =new File(url);
		List list=new ArrayList();
		String[] file1=null;
		file1 = fileDir.list(new FilenameFilter(){//使用匿名内部类重写accept方法
		public boolean accept(File dir, String name){
			if(new File(dir,name).isDirectory()){
			return true;
			}
		return name.toLowerCase().indexOf(".xml")!=-1;//
		}

	});
		if(file1!=null)
		{
			for (int j = 0; j < file1.length; j++)
			{

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -