如下是我要处理的文本里面的几行(是4行),有高手帮我看一下吗?
202.113.95.245,local4,warning,2011-11-18,10:22:52,SR6604 %%10SHELL/4/CMD(l): task:vt0 ip:202.113.88.108 user:zzg command:sa
202.113.95.245,local4,warning,2011-11-18,10:22:47,SR6604 %%10SHELL/4/CMD(l): task:vt0 ip:202.113.88.108 user:zzg command:quit
202.113.95.245,local4,warning,2011-11-18,10:22:27,SR6604 %%10SHELL/4/CMD(l): task:vt0 ip:202.113.88.108 user:zzg command:un ip rout 58.251.57.0 255.255.255.0 221.239.84.13
202.113.95.245,local4,warning,2011-11-18,10:22:02,SR6604 %%10SHELL/4/CMD(l): task:vt0 ip:202.113.88.108 user:zzg command:un ip rout 211.151.146.0 255.255.255.0 221.239.84.13
如果是split分割是每个字符串分割成一个数组,我要的是分割成的各个字段成一个数组,不是简单的split(",")!
能不能来一小段程序示范一下呀?这个思路倒是差不多,实现的时候出现点问题。
追答什么问题?
import java.util.*;
import java.io.*;
public class MyTest1 {
public static void main(String[] args) throws Exception {
List ipList = new ArrayList();
List localList = new ArrayList();
List logList = new ArrayList();
List timeList = new ArrayList();
List msgList = new ArrayList();
BufferedReader in = new BufferedReader(new FileReader("e:\\test.txt"));
String line = "";
String[] tmp = null;
while((line=in.readLine())!=null){
tmp = line.split(",");
ipList.add(tmp[0]);
localList.add(tmp[1]);
logList.add(tmp[2]);
timeList.add(tmp[3] + " " + tmp[4]);
msgList.add(tmp[5]);
}
//ipList中的内容
System.out.println(ipList);
//localList中的内容
System.out.println(localList);
//logList中的内容
System.out.println(logList);
//timeList中的内容
System.out.println(timeList);
}
}
按","分割的话,最后面的那个字段还要分开SR6604 %%10SHELL/4/CMD(l): task:vt0 ip:202.113.88.108 user:zzg command:un ip rout 211.151.146.0 255.255.255.0 221.239.84.13
分为ip:202.113.88.108和user:zzg和command:un ip rout 211.151.146.0 255.255.255.0 221.239.84.13,这样我认为比如说ip:202.113.88.108这个是从ip开始到下一个" "(空格为止),这一段怎么分,因为我是在做毕设,最近赶着要交,谢谢回答的朋友
import java.util.*;
import java.io.*;
public class MyTest1 {
List ipList = new ArrayList();
List localList = new ArrayList();
List logList = new ArrayList();
List timeList = new ArrayList();
List ip2List = new ArrayList();
List userList = new ArrayList();
List comList = new ArrayList();
public static void main(String[] args) throws Exception {
MyTest1 test = new MyTest1();
test.process();
}
public void process() throws Exception{
BufferedReader in = new BufferedReader(new FileReader("e:\\test.txt"));
String line = "";
String[] tmp = null;
while((line=in.readLine())!=null){
tmp = line.split(",");
ipList.add(tmp[0]);
localList.add(tmp[1]);
logList.add(tmp[2]);
timeList.add(tmp[3] + " " + tmp[4]);
processMsg(tmp[5]);
}
//ipList中的内容
System.out.println(ipList);
//localList中的内容
System.out.println(localList);
//logList中的内容
System.out.println(logList);
//timeList中的内容
System.out.println(timeList);
System.out.println(ip2List);
System.out.println(userList);
System.out.println(comList);
}
private void processMsg(String msg){
String[] tmp = msg.split(" ");
if(tmp.length<6){
System.out.println("消息格式错误!");
return ;
}
ip2List.add(tmp[3].split(":")[1]);
userList.add(tmp[4].split(":")[1]);
comList.add(tmp[5].split(":")[1]);
}
}