さまざまなデータタイプのCSVファイルを読み込もうとしています。Java - さまざまなデータタイプのCSVファイルを読み込む最も効率的な方法
シートの行は以下のようになります:
シングル、毎月、加速、ジョン・スミス、1951年8月15日、はい
私はその後に、各フィールドを割り当てる必要があります変数名、いくつかの計算をプリフォーム出力を印刷してから現在まで、Excelシートに次の行に
を移動し、私は以下の
ArrayList<String> lines = new ArrayList<>();
try {
BufferedReader reader = new BufferedReader(new FileReader(fileName));
String line = null;
while ((line = reader.readLine()) != null) {
lines.add(line);
}
を使用してきました
しかし、これは、対応するExcelの行のテキスト(カンマを含む)を含む長い文字列を含む各スロットを持つ配列を作成します。 これは、値を抽出するために各スロット/文字列をトラバースする必要があるため、非効率的で実用的ではないようです。私は方法論を持っていたら
は、私はすべての問題のコードを書くことを持って文句を言わないが、私はそれ
が、それは別に、各セルを読み込み、変数に割り当てた方が良いです行くための最善の方法を知らないのですか? また、ファイルを一度読み込んで後でそれを走査する方が良いでしょうか? おそらく、この作業を行うより効率的な方法があります。
編集:私はCSVファイル全体を2次元配列として読み込もうとしますが、異なるデータ型が問題になる可能性があります。
これはおかげで、私のために働くことができました。 StringTokenizerが良い選択だと思った特別な理由はありますか?私が尋ねる理由は、java docの状態です:** StringTokenizerは互換性のために保持されているレガシークラスですが、その使用は新しいコードでは推奨されません。この機能を求める人は、splitメソッド(Stringまたはjava.util.regexパッケージ)を使用することをお勧めします。** – Kevin
[この質問](https://stackoverflow.com/q/6983856/4310386 )。多くの方法があるので、分割を行う方法を選択することができます。それはあなた次第です。 –