我的数据格式data.txt 如下:
1 00 [7E,00,11,23,7E] 5
2 22 [7E,22,11,23,34,45,7E] 7
3 24 [7E,24,11,23,34,45,34,45,7E] 9
........
第一个数据是包的编号1,2,3,4...
第二个是数据包的类型,为数据包的第一个数据
第三个为一个ArrayList<String>,内容为真实数据(头尾均一样)。
第四个为包的长度。另有一DTO类,对应。
class Packet{
int id;
String type;
AyyayList<String> data;
int length;
//get set.....
}
请问如何读取数据并组装为对象。。
1 00 [7E,00,11,23,7E] 5
2 22 [7E,22,11,23,34,45,7E] 7
3 24 [7E,24,11,23,34,45,34,45,7E] 9
........
第一个数据是包的编号1,2,3,4...
第二个是数据包的类型,为数据包的第一个数据
第三个为一个ArrayList<String>,内容为真实数据(头尾均一样)。
第四个为包的长度。另有一DTO类,对应。
class Packet{
int id;
String type;
AyyayList<String> data;
int length;
//get set.....
}
请问如何读取数据并组装为对象。。
String line = null;
List<Packet> packetList = new ArrayList<Packet>();
while((line= in.readLine())!=null)
{
System.out.println(line);
String[] item = line.split(" ");
Packet packet = new Packet();
paket.setId(item[0]);
paket.setType(item[0]);
-----
packetList.add(packet);
}
package T1;import java.io.BufferedReader;
import java.io.FileReader;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;public class T1 { private static List<D1> ds = new LinkedList<D1>();
public static void main(String []args){
String p = T1.class.getResource("d.txt").getFile();
try {
BufferedReader br = new BufferedReader(new FileReader(p));
String line = null;
do{
line = br.readLine();
proceLine(line);
}while(line != null);
br.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private static void proceLine(String line) {
if(line == null){
return ;
}
D1 d = new D1();
try{
String[] ls = line.split(" ");
d.setId(Integer.parseInt(ls[0]));
d.setType(ls[1]);
d.setLength(Integer.parseInt(ls[3]));
ls[2] = ls[2].substring(1, ls[2].length()-1);//去掉[]
ls = ls[2].split(",");
ArrayList<String> al = new ArrayList<String>();
for(int i = 0;i<ls.length;i++){
al.add(ls[i]);
}
d.setData(al);
}catch(Exception e){
d = null;
}
if(d != null){
ds.add(d);
}
}
}
package T1;import java.util.ArrayList;public class D1 { private int id;
private String type;
private ArrayList<String> data;
private int length;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public ArrayList<String> getData() {
return data;
}
public void setData(ArrayList<String> data) {
this.data = data;
}
public int getLength() {
return length;
}
public void setLength(int length) {
this.length = length;
}
}文本文件d.txt,1 00 [7E,00,11,23,7E] 5
2 22 [7E,22,11,23,34,45,7E] 7
3 24 [7E,24,11,23,34,45,34,45,7E] 9