0

私は与えられたものによって完全に理解していません例えばここでコレクションを使用する方法についてのopencsvサイトでリスト、例えば:

CSVReader reader = new CSVReader(new FileReader("yourfile.csv"));**
List myEntries = reader.readAll();**

たとえば、リストのメンバーにアクセスしようとしましたが、要素の存在をテストしたときに、System.out.println(myEntries.get(2))次のようなものが得られます。d1e604

boolean b = myEntries.contains("the element");** and it returns false.

トークン化された文字列にアクセスするには何をする必要がありますか?

readNext()を使用すると、要素は「\ n」で区切られ、連続番号で要素を割り当てたいと思います。アレイの。

while((tokened = reader.readNext()) != null){
    int numOfArray = tokened.length;
    System.out.println("number of items:"+ numOfArray) ;
    for (int i = 0;i < numOfArray;i++) {
    System.out.println("     tokenNo[" + i + "]:  " + tokened[i]);

   }
 }
4

2 に答える 2

1

List myEntries の各要素は String[] です。つまり、文字列の配列です。つまり、キャストが必要です。

String[] entry = (String[]) myEntries.get(2);

また -

System.out.println(myEntries.get(2)) but it gives me something like d1e604.

これは、toString メソッドが適切にオーバーライドされていないためです。これは、Object クラスに実装されている toString メソッドのデフォルトの動作です。

于 2011-06-27T13:36:45.103 に答える
1

I think you missed a little fact about CSV. CSV is about lines AND columns. readNext() returns an array of strings representing a line. So I would guess, readAll() returns a list of string[].

于 2011-06-27T13:35:01.347 に答える