将 String 中不存在的元素添加到 ArrayList<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 没有 adate或 aobject


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


繁星coding
浏览 122回答 1
1回答

慕容森

分割后\t你会得到一个数组作为结果。您可以在访问数组中的字段之前检查数组的长度。for(int k=0;k<data.size();k++) {&nbsp; &nbsp; String [] substr2 = data.get(k).split("\t");&nbsp; &nbsp; int length = substr2.length&nbsp; &nbsp; if (length >= 5) {&nbsp; &nbsp; &nbsp; &nbsp; RC1.add(substr2[4]);&nbsp; &nbsp; } else {&nbsp; &nbsp; &nbsp; &nbsp; System.out.println("no object found");&nbsp; &nbsp; }&nbsp; &nbsp; ....&nbsp; &nbsp; &nbsp;}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java