使用多个分隔符与扫描仪 - Java

时间:2013-05-27 20:40:35

标签: java.util.scanner delimiter

我正在尝试使用制表符和换行符作为分隔符来读取.txt文件。我现在所拥有的是:

Scanner fileScanner = new Scanner(new FileReader("propertys.txt"));

fileScanner.useDelimiter("[\\t\\n]");

我试过了:

fileScanner.useDelimiter("\\t|\\n");

fileScanner.useDelimiter("[\\t|\\n]");

我不知道出了什么问题,我经常搜索,看起来其中一个应该正常工作。显然我做错了。

2 个答案:

答案 0 :(得分:1)

fileScanner.useDelimiter(" \吨| \ n&#34); 应该工作。

如果你有两个斜杠" \ n"第一个是逃避,它不会正常工作。

答案 1 :(得分:0)

对于在useDelimiter方法中用作参数的正则表达式,您应该将换行设置为\n而不是\\n,将制表符设为\t而不是\\t。来自Java Pattern类:http://docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html

其中一部分,我认为你应该定义正则表达式,例如:

fileScanner.useDelimiter("\\s*[\t\n]\\s*");

限制换行符或制表符之间的字符串(\\s)。