java
1import java.io.*; 2import java.util.*; 3 4public class Main { 5 6 public static void main(String[] args) { 7 8 //ファイルからデータを読み込む 9 BufferedReader br = null; 10 String file_name = "number.csv"; //入力ファイル 11 12 String[] data; 13 14 try { 15 File file = new File(file_name); 16 br = new BufferedReader(new FileReader(file)); 17 18 String line; 19 20 while((line = br.readLine()) != null) { 21 data = line.split(","); 22 } 23 } catch (Exception e) { 24 System.out.println(); 25 } finally { 26 try { 27 br.close(); 28 } catch (Exception e) { 29 System.out.println(e.getMessage()); 30 } 31 } 32 33 for(int j = 0; j<data.length; j++) { 34 System.out.println(data[j]); 35 } 36 } 37}
上記のコードは、csvファイルからカンマ区切りで文字を読み込み、それぞれの文字をString[] dataに格納し、それを画面表示するプログラムです。これを実行すると下記のようなエラーが出ました。
txt
1エラー: 変数dataは初期化されていない可能性があります 2 for(int j = 0; j<data.length; j++) {
これを初期化するために
java
1String[] data = null;
とするとエラーは無くなるのですが、実行しても何も出力されません。
何をどのように変えれば良いのか教えてください。
ファイルが無い、ファイルが空などの場合、変数dataは宣言のみで初期化されてない状態で
try句を抜けるのでエラーが出るのは当然でしょう
回答3件
あなたの回答
tips
プレビュー