从文件中读取数组。 (Java)的

时间:2015-06-05 13:57:41

标签: java string file split int

您好我的代码是从文件中读取

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,任何提示?

1 个答案:

答案 0 :(得分:2)

管道角色" |"是执行比赛时具有特殊含义的元字符之一。

page为您提供这些特殊字符及其含义的完整列表。

因此,在您的程序中,修改以下行,

String delimiter = "|";

String delimiter = "\\|";

这将为您提供所需的结果。