2011-06-27 9 views
0

は次のとおりです。オープンCSV収集と連続配列

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」で区切られており、要素を連続番号で割り当てたいと思います。配列の。

+0

'myEntries'には文字列の配列が含まれています。 contains()はtrueを返すことはできません。最後のコードの結果は何ですか? – ZeissS

+0

@ZeissS:列の要素のnoでインデックス付けされた文字列。列には3要素、配列には0〜2、次の列に対しては0に戻されます.imこの分離文字列を1つの文字列csvファイルの列の終わりまでreadAll()についての – reukEN11

答えて

1

私はあなたがCSVについて少しの事実を見逃したと思います。 CSVは行と列に関するものです。 readNext()は、行を表す文字列の配列を返します。ですから、readAll()は文字列[]のリストを返します。

+0

、上記のようにデータが読み取られませんでした。トークン化されたStringは、一度readAll()が実行されると使用可能になりませんか? – reukEN11

1

List myEntriesの各要素は、String []です。 つまり、Stringの配列です。 これは、キャストが必要であることを意味します。また

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

-

toStringメソッドが正常に上書きされていないためだ
System.out.println(myEntries.get(2)) but it gives me something like d1e604. 

。これは、Objectクラスで実装されているtoStringメソッドのデフォルト動作です。

関連する問題