`
yzz9i
  • 浏览: 220707 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论

解析txt文件

阅读更多

public static String readFileContent(String filepath) {
		try {
			BufferedReader br = new BufferedReader(new FileReader(filepath));
			//基元素: "sms,deliver,"10657502022321","","","2011.07.28 11:04","","彭元彬,朱宇英/CA1509北京首都机场-杭州萧山机场2011-07-31 07:55/起飞/总票款1420.0元/保险费0.0元/票号999-2155782847999-2155782848/请持有效身份证件到机场办理手续,如有疑问请致电4008100999-8[中国国航]"
			String s,str;  //每条数据 
			
			while((s = br.readLine())!=null){
				//System.out.println("数据记录为:"+s);
				
				String[] recArray = parseRecord(s);  // 按”""“ 截取
				if (recArray.length>=6) {  //该条记录长度
					String p=recArray[6];  //得到第六个数组
					String[] ps=parseRecord(p);//获取票号所属引号组
					if (ps.length>=5) { 
						String ppp=ps[5];//获取票号组
						String[] pp=subRecord(ppp); //按“/”截取值存入数组PP中
						for (int j = 0; j < pp.length; j++) {
							System.out.println("PP-PP-PP--PP-"+pp[j]);
						}
					}
					
					//子元素:"殷俊/CA4107成都双流机场-北京首都机场2011-08-05 10:00/起飞/总票款1350.0元/保险费0.0元/票号999-2155782063/请持有效身份证件到机场办理手续,如有疑问请致电4008100999-8[中国国航]"
					for (int i = 0; i < ps.length; i++) {
						System.out.println("P-P-P-P-"+ps[i]+"ps.length:"+ps.length);
						//截断
				        //按“/”截取值存入数组PP中
					    for (int j = 0; j < ps.length; j++) {
					    	String[] pa=subRecord(ps[j]); // 按"/" 截取
					    	System.out.println("pa:"+pa.length);
					    	//子元素:"陈超,缪小红,尹纤黛/CA1726广州白云机场-杭州萧山机场2011-07-29 18:20/起飞/总票款2310.0元/保险费0.0元/票号999-2155782014999-2155782015999-2155782016/请持有效身份证件到机场办理手续,如有疑问请致电4008100999-8[中国国航]"
					    	for (int k = 0; k < pa.length; k++) {
				    			System.out.println("元素pa"+k+":"+pa[k]);
							}
					    	
					    	if (pa.length>=5) { //子子元素: 票号999-2155782063...
			    				System.out.println("票号pa:"+j+"-----"+pa[5]);
			    				//对票号处理  票号999-2155782014999-2155782015999-2155782016 ...
			    				String sr=pa[5].substring(2); //截取后如:999-2155782014999-2155782015999-2155782016 ...
			    				int begin = 0;
			    				int end = 14;
			    				while(end<=sr.length()) {
			    					String b = sr.substring(begin,end);
			    					System.out.println("票号截取值:"+b);
			    					begin += 14;
			    					end += 14;
			    				}
			    				
							}
					    	
					    }
					}
				}
				
				int i=0;
				for ( i = 0; i < recArray.length; i++) {
					System.out.println("元素"+i+": "+recArray[i]);
					String yString=recArray[i];
					if (i==recArray.length-1) {
						str=recArray[i];
						String[] subArray=subRecord(str);
						//System.out.println("eeee"+subArray);
						int pi=subArray.length-2;
						for(int j=0;j<subArray.length;j++){
							System.out.println("子元素"+j+":"+subArray[j]);
							//System.out.println("票号:"+subArray[5]);
							if (j==subArray.length-7) {
								String subString=subArray[j];
								String[] ssubArray=ssubRcord(subString);
								for (int k = 0; k < ssubArray.length; k++) {
									System.out.println("子子元素"+k+":"+ssubArray[k]);
								}
					
								System.out.println("yString:"+yString);
								
							}
							
						}
						
					}
					
				}
				
				
			
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
		return null;
	}
	public static String[] parseRecord(String record) {    
		String[] recArray = record.split(",(?=\")|(?<=\"),");//按引号截取

		//String[] recArray2 = record.
		return recArray;
	}
	public static String[] subRecord(String subrString){
		String[] subArray=subrString.split("/");//按斜杠截取
		return subArray;
	}

	public static String[] ssubRcord(String sstr){
		String[] ssubArray=sstr.split(",");//按逗号截取
		return ssubArray;
		
	}
	public static String[] phNo(String ph){
		//String[] phArray=ph.ch //票号截取
		return null;
	}
	
	public static String[] subStrings(String sstrr){ //对票号截取处理
		//String string="票号999-2155782014999-2155782015999-2155782016";
		//String str="999-";
		
		String sr=sstrr.substring(2);
		int begin = 0;
		int end = 14;
		while(end<=sr.length()) {
			String b = sr.substring(begin,end);
			System.out.println(b);
			begin += 14;
			end += 14;
		}
		return null;
	}
	
	
	public static void main(String[] args) {
		String filepath = "E:\\sxySMS\\smstest2(1).txt";
		readFileContent(filepath);
		//String s="票号999-2155782014999-2155782015999-2155782016";
		//subStrings(s);
		
		
	}

分享到:
评论

相关推荐

    Java解析txt文件到数据库

    本文将详细探讨如何使用Java解析TXT文件并将其中的数据导入到MySQL数据库中。 首先,我们需要了解的是“建表.sql”文件。这个文件通常包含了创建数据库表的SQL语句,用于定义数据的结构和类型。在本场景下,它可能...

    C#读取解析txt文件,可以读取多或全选txt文件,实测管用

    在C#编程中,读取和解析TXT文件是一项常见的任务,尤其在处理大量文本数据时。本示例将深入探讨如何使用C#有效地读取单个或多个TXT文件,并进行内容解析与筛选。 首先,我们可以使用`System.IO`命名空间中的`...

    VS2010应用JSON解析TXT文件

    本篇将深入讲解如何在VS2010中利用JSON解析TXT文件内容并将其显示。 首先,我们需要了解JSON的基本结构。JSON数据通常包含键值对(key-value pairs)和数组。键值对由键(key)和值(value)组成,值可以是字符串、...

    创建文件夹、创建txt文件、向里面写数据、解析txt文件、创建excel文件、解析excel文件

    创建文件夹、创建txt文件、向里面写数据、解析txt文件、创建excel文件、解析excel文件 下载后直接运行

    java读取TXT文件入库

    2. **解析TXT文件内容** - TXT文件的内容通常以行的形式存储,每行可能包含多个字段,字段之间可能由特定分隔符(如逗号、制表符)分隔。可以使用`split()`方法将一行内容分割成多个字段。 - 如果字段包含特殊字符...

    java解析txt

    * 功能:Java读取txt文件的内容 * 步骤:1:先获得文件句柄 * 2:获得文件句柄当做是输入一个字节码流,需要对这个输入流进行读取 * 3:读取到输入流后,需要读取生成字节流 * 4:一行一行的输出。readline...

    txt文件读取以逗号为分隔符号

    当我们面对以逗号为分隔值(CSV,Comma Separated Values)的txt文件时,如何有效地读取和解析这些数据是许多开发人员需要掌握的技能。本文将深入探讨如何在各种编程语言中,如Python、Java、C#和JavaScript中,读取...

    java txt文件解析xml格式添加到数据库

    本篇文章将深入探讨如何解析TXT文件中的XML数据并将其有效地导入到数据库。 首先,我们要理解TXT文件中XML的基本结构。XML(可扩展标记语言)是一种用于描述数据的语言,它使用自定义的标签来组织数据。TXT文件可能...

    解析TXT文件转换成其他格式.txt

    TXT解析成其他格式代码

    java解析读取excel,word,txt,xml,json等jar包

    支持excel2003,2007的解析读取,可指定sheet页读取,指定行开始读取,过滤空行,指定列读取,过滤空单元格,支持json文件的解析读取,支持word文件的解析读取,txt文件等等,需要API文档可私信本人

    从txt文件中读取内容进行解析存储到sqlite中

    本话题主要关注如何从TXT文件中提取内容,对其进行解析,并将这些数据存储到SQLite数据库中。SQLite是一个轻量级、自包含的数据库引擎,适用于嵌入式应用或者作为桌面系统的本地数据库解决方案。以下是关于这个过程...

    解析txt电子档(tab空格)

    在解析TXT文件时,尤其是TSV格式的文件,我们通常会用到编程语言提供的库或工具。例如,在Python中,我们可以使用内置的`csv`模块,或者第三方库如`pandas`来处理这类文件。`csv`模块的`DictReader`或`DictWriter`...

    读取文件数据并解析成bean实体类

    "读取文件数据并解析成bean实体类"这一主题涉及到的核心知识点主要包括文件操作、数据解析以及对象映射。下面将详细阐述这些概念及其应用。 1. **文件操作**:文件是数据存储的基本单位,通常以二进制或文本格式...

    从ftp上下载txt文件插入到数据库中的原文件

    2. **解析TXT文件** - 创建一个新的转换,使用"文本文件输入"(Text File Input)步骤读取刚刚下载的TXT文件。 - 配置文件路径,指向下载的TXT文件,设置分隔符(如逗号或制表符),以正确解析文件内容。 - 定义...

    Python实现读取txt文件中的数据并绘制出图形操作示例

    本示例主要讲解如何使用Python读取txt文件中的数据,并利用这些数据绘制图形。在Python中,读取txt文件通常涉及`open()`函数和文件处理模式,而绘图则可能需要第三方库如matplotlib。 首先,我们来探讨如何从txt...

    如何通过txt文件批量导入数据到oracle数据库

    我们需要编写一个控制文件(.ctl文件),它定义了如何解析TXT文件和如何将数据插入到数据库表中。 4. **编写控制文件**:控制文件包含了关于如何读取TXT文件和加载数据的具体指令。例如,指定字段的分隔符、是否...

    将TXT文件写成IGS文件

    要实现这个转换过程,首先需要编写一个程序来解析TXT文件中的数据,并将其按照IGES标准组织起来。这通常涉及读取TXT文件,识别数据模式,然后生成符合IGES格式的输出。例如,程序可能需要识别点的坐标(X,Y,Z),...

    TXT文件数据转换成PAJEK数据

    这个程序的功能就是解析TXT文件并将其转换成PAJEK的.net格式。.net文件包含了网络的所有元数据,如节点、边、属性等,并且以PAJEK能理解的方式组织。 在使用txt2pajek.exe之前,确保TXT文件的结构符合转换要求。...

    TXT文本数据转化为MF4文件工具、INCA采集数据分析

    运行该程序后,它会解析TXT文件中的数据,根据预定义的规则或用户提供的配置,生成符合MF4格式的文件。 例如,如果你有一个名为"demo.txt"的TXT文件,其中包含了标定参数,你可以通过以下命令来转换: ``` ConverMf...

Global site tag (gtag.js) - Google Analytics