次の形式のファイルから読み取っています: 名前: 症状: 原因: 治療: 率: 予後
合計 21 のエントリがありますが、ファイルから読み取って .split(":"); を使用しようとすると、出力は毎回変わりますが、常に [Ljava.lang.String;@614951ff. ポインターまたはメモリアドレスだと思いますが、文字列値が必要です。ただし、例外が発生していないため、どこが間違っているのかわかりません。このメソッドの目的は、ファイルを読み取り、選択した特定のファイル行の区切り文字を使用して配列に分割することです。
public String[] readCancer(int row) {
cancers = new String[22];
FileInputStream fis;
InputStreamReader isr;
BufferedReader br = null;
String eachCancer;
String[] splitCancer = null;
int j = 0;
try {
fis = new FileInputStream(myData);
isr = new InputStreamReader(fis);
br = new BufferedReader(isr);
input = new Scanner(br);
while(input.hasNext() && j < 23) {
cancers[j++] = input.nextLine();
}
eachCancer = cancers[row].toString();
splitCancer = eachCancer.split(":");
} catch (IOException iox) {
JOptionPane.showMessageDialog(null, "Problem with file input");
} finally {
try {
if(br != null) {
br.close();
}
} catch (IOException iox) {
JOptionPane.showMessageDialog(null, "Problem closing the file");
}
}
return splitCancer;
}