[Java] 21 CSVファイルの読み込み

Javaに関する記事は昨年10月以来です。

CSVファイルを読み込んでみました。

BufferedReader等をどうしても閉じることができず放置しています。

波カッコが相変わらず目障りですが、位置は適当でも数さえ合っていればいいので見ないようにしています。

文法がやや複雑なのでPythonでは浮き彫りになるコーダーのセンスが分かりにくいのも特徴の一つでしょうか。

Pythonと比較しながら学習を進めるのも楽しそうです。

import java.io.*;

public class ReadCSV {

    public static void main(String[] args) {
        String file_name = "test.csv";
        try {
            // File file = new File(file_name);
            // FileInputStream input = new FileInputStream(file);
            // InputStreamReader stream = new InputStreamReader(input,"shift_jis");
            // BufferedReader br = new BufferedReader(stream);
            
       // 一つにまとめました
            BufferedReader br = new BufferedReader(
                new InputStreamReader(
                new FileInputStream(
                new File(file_name)),"shift_jis"));

            String line;
            String[] data;

            while ((line = br.readLine()) != null) {
                byte[] b = line.getBytes();
                line = new String(b, "utf-8");
                data = line.split(",");
            
                for (int i = 0; i < data.length; i++) {
                    System.out.print(data[i] + " ");
            }
                System.out.println();
        }
        }
        catch (Exception e) {
            System.out.println(e.getMessage());
        }
     
        // 閉じようとしてもエラーになるため省略
        // finally {
        //     try {
        //         br.close();
        // }

        //     catch (Exception e) {
        //         System.out.println(e.getMessage());
        // }
        // }
        }
        }