0
.txtファイルから読み込んだデータを保存する際に問題があります。その行の先頭にあるキーに応じてデータを保存しようとしています。何らかの理由でそのまま文書を印刷しているだけです。ここで.txtファイルから読み込んで.startsWithを使用する
はコードです:
File file = new File(selectedFile.getAbsolutePath());
}
if (connectionTab.startsWith("Connection: ")) {
continue;
}
if (!sca.hasNext()) {
break;
}
String connection = sca.next();
if (!sca.hasNext()) {
continue;
}
String otherConnection = sca.next();
if (!sca.hasNextDouble()) {
continue;
}
double distance = sca.nextDouble();
TrainNetwork.newStation.addConnection(connection, otherConnection, distance);
System.out.println(connection + " " + otherConnection + " " + distance);
}
} catch (FileNotFoundException e) {
System.out.println("File not found");
}
*読ん線でスタート 'nextLine(を使用して、ファイルから一度に*)'だけではなくスペース区切り '次の()/のhasNext()'メソッド –
最初のものはあなたですif(stationTab.startsWith( "Station:")) 'に対して再テストしますが、スキャナは_delimiter_として空白を使用し、スペースはスキャンされたテキストには含まれません_ので、この' if'は常に失敗します。おそらく '' Station: '' _ _outout_の後ろにスペースがあるかどうかテストしたいでしょう。 –
これは第2のコードです。 "otherConnection"と "distance"を扱うコードの後半では、 'try(Scanner sca = new Scanner(file)){' ... _new_ Scannerは、コードの最初のセクションで読み込んだ同じファイルの_start_からすべての読み込みを開始します。 –