LoginSignup
1

More than 1 year has passed since last update.

【超初心者向け】javaでcsvファイルの任意の列を出力

Last updated at Posted at 2022-05-21

はじめに

この記事は、ともに研修課題を解いている僕の同期を想定して書かれています。
超初心者向けです。

csvファイルの中身

メールアドレスが一列目、名前が二列目。
ここでは、名前を出力することを目指します。
1つのディレクトリにjavaファイルとcsvファイル(テキストファイル)を置いてください。

ieoronw@sample.co.jp,山田
uehi3ui.wjhi221@sample.co.jp,佐藤
1995hhfhhrh@sample.co.jp,田中

コード

クラスの外側を以下のように準備します。
クラス名はここでは Search とします。

import java.io.*;
class Search{
    public static void main(String[] args)throws IOException{
    
    //コード
    
    }
}

クラスの内側を以下のように準備します。
コマンドライン引数には*****.txtのようにファイル名のみ入力します。

File file = new File(args[0]);

次に、br1でcsvファイルを受け取ります。

BufferedReader br1 = new BufferedReader(new InputStreamReader(System.in));
br1 = new BufferedReader(new FileReader(file));

次に、文字列型で読み込み行と配列を準備します。

String line;
String[] data;

csvファイルを一行ずつ処理するためのwhile文を用意します。
str_1が、csvファイルの2列目となっていますので、これを出力します。

while ((line = br1.readLine()) != null) {
    data = line.split(",");
    //配列の1番目は0、2番目は1,,,,
    String str_0 = data[0];
    String str_1 = data[1];
    
    System.out.println(str_1);
    }

実行結果

山田
佐藤
田中

Tips

qiitaのコードは右上のマークでコピーできます。インデントも揃えておいたのでそのままエディタに貼り付けてください。
ファイルが3列以上ある場合、String str_2 = data[2];などを追加してください。

おことわり

今回は超初心者向けなので、最低限のことしか書いていません。
なので、try文は用いていません。
でも本当は、BufferedReaderを使うならtry文を使ってください。

参考
BufferedReader、FileReaderはtryとcatchがないと駄目ですか

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1