您好我的代码是从文件中读取
case 11: {
String line;
String temp[];
System.out.println("Podaj nazwę pliku z jakiego odczytać playlistę.");
nazwa11 = odczyt.next();
try {
FileReader fileReader = new FileReader(nazwa11);
BufferedReader bufferedReader = new BufferedReader(fileReader);
playlists.add(new Playlist(bufferedReader.readLine()));
x++;
while((line = bufferedReader.readLine())!=null){
String delimiter = "|";
temp = line.split(delimiter);
int rok;
rok = Integer.parseInt(temp[2]);
playlists.get(x).dodajUtwor(temp[0], temp[1], rok);
}
bufferedReader.close();
} catch (FileNotFoundException ex) {
System.out.println("Nie znaleziono pliku: '" + nazwa11 + "'");
} catch (IOException ex) {
System.out.println("Error reading file '" + nazwa11 + "'");
}
break;
}
示例文件如下所示:
Pop
Test|Test|2010
Test1|Test1|2001
给我错误
Exception in thread "main" java.lang.NumberFormatException: For input string: "s"
为什么我的line.split找不到" |"?我猜它会拆分t-e-s,任何提示?
答案 0 :(得分:2)
管道角色" |"是执行比赛时具有特殊含义的元字符之一。
此page为您提供这些特殊字符及其含义的完整列表。
因此,在您的程序中,修改以下行,
String delimiter = "|";
到
String delimiter = "\\|";
这将为您提供所需的结果。