Tab作为分隔符(StringTokenizer)不作为参数

时间:2014-04-04 04:10:11

标签: java delimiter stringtokenizer

我已经看过几篇有关此事的帖子。但是他们说的不是StringTokenizer

这是我的输入文件:inputfile with tab delimiter

我写了一个stringTokenizer来获取一行中的每个值。所以我能够得到

1.0      3.0
delim1.0
delim3.0
so on

但是当我试图将分隔符作为参数时,它对我来说效果不佳。

while ((sCurrentLine = br.readLine()) != null) {
System.out.println(sCurrentLine);
StringTokenizer st = new StringTokenizer(sCurrentLine, args[0]);
 while(st.hasMoreTokens()){
  System.out.println("delim"+st.nextToken());
 }
}

1.通过" "(通过按" Tab" keyboard中的键)作为参数,它工作正常。

2.通过"\t"作为参数。它正在显示

1.0      3.0
delim1.0      3.0

3.通过\t作为参数。它显示相同的

1.0      3.0
delim1.0      3.0

为什么会这样。

1 个答案:

答案 0 :(得分:0)

"\t"不能作为字符串传递。尝试将其作为\\\t传递,它应该可以工作,因为\t是一个转义序列,应该存储在原始字符或字符作为包装类中。