1

我有这种格式的文件。50 xxx/ 70 aaa/ 90 ccc/

该程序将文件保存到默认目录,我认为它试图从中读取相同的目录。但它只是不扫描任何东西......请问有什么问题?我不擅长编程对不起

我希望它读取 50 到“之前”xxx 到“文本”,然后在 aPf.insert(之前,文本)中使用这两个东西。

File file = new File("poznamky.txt");
        Scanner scanner = null;
        int prior;
        String text;

        try {
            scanner = new Scanner(file);
            scanner.useDelimiter("/");

         while (scanner.hasNext()) {

          prior = scanner.nextInt();
          text = scanner.next();
          aPf.insert(prior, text);

}

} catch (FileNotFoundException e) {

e.printStackTrace();

}
4

2 回答 2

2

我认为分隔符/没有正确转义。尝试使用 like\/来逃避它。请参阅此在正则表达式中转义正斜杠以获得更清晰的信息。

于 2012-05-08T01:28:19.693 回答
0

我认为有两种方法可以解决这个问题。第一个是使用 reset() 来重置分隔符。所以我的意思是为 nextInt 使用默认分隔符'',然后调用 useDelimiter('/') 进行下一次调用。然后调用scanner.reset()。

解决此问题的另一种方法可能是根据 / 分隔符获取字符串。然后根据空格进一步拆分该字符串作为下一个分隔符。也许使用 StringTokenizer 来完成这个。

于 2012-05-08T01:33:56.327 回答