因此,我正在读取txt文件。该文件就是这样的,用制表符"/t"
ID name test date object
1 John pass 9/13 RC_CUST_1
2 John fail 10/13 RC_CUST_1
3 John pass
我正在这样读取txt文件:
String line="";
ArrayList<String> data = new ArrayList<String>();
FileReader fIn;
BufferedReader buff;
fIn = new FileReader("...");
buff = new BufferedReader( fIn );
while( ( line = buff.readLine() ) != null )
{
if(!line.isEmpty())
data.add(line);
}
在我的代码后期,我这样做:
ArrayList<String> name1 = new ArrayList<String>();
ArrayList<String> RC1 = new ArrayList<String>();
ArrayList<String> date1 = new ArrayList<String>();
ArrayList<String> pass1 = new ArrayList<String>();
String [] substr2;
for(int k=0;k<data.size();k++)
{
substr2=data.get(k).split("\t");
RC1.add(substr2[4]);
name1.add(substr2[1]);
date1.add(substr2[3]);
pass1.add(substr2[2]);
}
我有一个错误,因为您可以看到,我的ID号3没有任何日期或对象。如何解决该问题,如何知道没有date
或object
例如,如果我遇到此类错误,我想打印:ID number x has not date
或ID number x has not any object
答案 0 :(得分:1)
在\t
上分割后,您得到一个数组作为结果。您可以在访问数组中的字段之前检查数组的长度。
for(int k=0;k<data.size();k++) {
String [] substr2 = data.get(k).split("\t");
int length = substr2.length
if (length >= 5) {
RC1.add(substr2[4]);
} else {
System.out.println("no object found");
}
....
}