📄 outlook.java
字号:
package com.aircom.parse;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
public class OutLook {
public ArrayList<OutLookObj> outlookParse(String path){
BufferedReader bf;
String parseTitle=null;
String saveLine=null;
/*** 定义一个比较大的集合*/
ArrayList<OutLookObj> umo_list =null;
int TitleInt=0;
try {
/*** 解析路径*/
bf = new BufferedReader(new InputStreamReader(new FileInputStream(path)));
try {
/*** 判断是否有下一行*/
saveLine=bf.readLine();
umo_list=new ArrayList<OutLookObj>();
while(saveLine!=null){
/***查看是否是标题,如果是标题的话就先把标题给存起来,以便下次的操作!*/
if(TitleInt==0){
parseTitle=saveLine;
}else{
OutLookObj olo = new OutLookObj();
/***调用比较方法!可以把值存入对应的和指定的参数中,以便有序的运用*/
TitleParse(parseTitle+",",saveLine+",",olo);
umo_list.add(olo);
}
/***对标头进行管理*/
TitleInt++;
saveLine=bf.readLine();
}
} catch (IOException e) {
e.printStackTrace();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
return umo_list;
}
/**
* 把字符串解析,并且把解析好的字符串一一比较
* @param title --标头
* @param saveLine --标头对应的内容行
* @param olo --作为存放内容的OBJECT
*/
public void TitleParse(String title,String saveLine,OutLookObj olo){
OutLookConst olc=new OutLookConst();
if(title!=null && saveLine!=null){
/***对标头和内容进行一对一的解析*/
String []titleArray=title.split(",");
String []saveLineArray=saveLine.split(",");
/***在这里长度要按照内容来定,因为不管你有没有往内容写数据,标头只要倒出来了,哪么一定会有标头!
*但是内容却不一定有,因为或许没有填写该内容项!再者,数组有一个这样的特点,比如“aa,bb,cc,,dd,,,”
*在这个String中,如果用split(",")的话,他的长度只会出现到‘四’,而不是‘六’ ,所以这个地方是‘四’而不是‘六’
*如果这里用标题的长度,会造成数组越界
**/
for(int titleLineInt=0;titleLineInt<saveLineArray.length-1;titleLineInt++){
/***标题与内容的对应*/
olc.name_corresponding(titleArray[titleLineInt], saveLineArray[titleLineInt], olo);
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -