你好,这是我的代码读取文件
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"
为什么是我的台词。当发现"|"时,Split不会分裂?我猜是t-e-s分开的,有什么建议吗?
管道字符"|"是在执行匹配时具有特殊含义的元字符之一。
本页给出了这些特殊字符的完整列表及其含义。
所以,在你的程序中,修改下面的行,String delimiter = "|";
String delimiter = "\|";
这将给你想要的结果。