次の行が空白になったときにファイル スキャナがスキャンを停止するようにしようとしています。
public static void createAudioTypes(File list, Scanner mediaReader, String mediaType) {
if (mediaType.equalsIgnoreCase("CD") || mediaType.equalsIgnoreCase("CASSETTE")) {
String title = mediaReader.next();
String artist = mediaReader.next();
int year = 0;
if (mediaReader.hasNextInt()) {
year = mediaReader.nextInt();
}
String lbl = mediaReader.next();
ArrayList<String> songs = new ArrayList<String>();
System.out.println(title);
System.out.println(artist);
System.out.println(year);
System.out.println(lbl);
mediaReader.useDelimiter(",");
while(mediaReader.nextLine().equalsIgnoreCase(mediaType)) {
songs.add(mediaReader.next());
}
System.out.println(songs);
}
}
私が読んでいるテキストファイルの一部:
CD
Immersion
Pendulum
2011
Atlantic
Genesis, Salt in the Wounds, Watercolour, Set Me on Fire, Crush, Under the Waves, Immunize (feat. Liam Howlett), The Island - pt. 1 - Dawn, The Island - pt. 2 - Dusk, Comprachicos, The Vulture, Witchcraft, Self vs Self (feat. In Flames), The Fountain (feat Steven Wilson), Encoder
16.99
CD
Demon Days
Gorillaz
すべてのトラック タイトルの行がワード ラップされていないことに注意してください。この行は配列リストに読み込まれます。トラック タイトルの行のすぐ下に、価格と空白行があることに注意してください。この空白行をスキャナーの停止点にしたいのですが、構文がわかりません。
ありがとうございました!