java
import java.io.*; import java.util.*; public class Main { public static void main(String[] args) { //ファイルからデータを読み込む BufferedReader br = null; String file_name = "number.csv"; //入力ファイル String[] data; try { File file = new File(file_name); br = new BufferedReader(new FileReader(file)); String line; while((line = br.readLine()) != null) { data = line.split(","); } } catch (Exception e) { System.out.println(); } finally { try { br.close(); } catch (Exception e) { System.out.println(e.getMessage()); } } for(int j = 0; j<data.length; j++) { System.out.println(data[j]); } } }
上記のコードは、csvファイルからカンマ区切りで文字を読み込み、それぞれの文字をString[] dataに格納し、それを画面表示するプログラムです。これを実行すると下記のようなエラーが出ました。
txt
エラー: 変数dataは初期化されていない可能性があります for(int j = 0; j<data.length; j++) {
これを初期化するために
java
String[] data = null;
とするとエラーは無くなるのですが、実行しても何も出力されません。
何をどのように変えれば良いのか教えてください。
ファイルが無い、ファイルが空などの場合、変数dataは宣言のみで初期化されてない状態で
try句を抜けるのでエラーが出るのは当然でしょう
まだ回答がついていません
会員登録して回答してみよう