将不存在的元素从字符串添加到数组列表<String>



所以,我正在从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 没有任何日期或对象。我该如何解决这个问题,我怎么知道哪个ID没有dateobject

例如,我想打印:如果我有这种类型的错误,ID number x has not dateID number x has not any object

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");
}
....     
}

最新更新