2014-04-04 55 views
-1

我已经看到几个职位关于this.But他们告诉拆分不是StringTokenizer选项卡作为分隔符(StringTokenizer)没有作为参数

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

我写的StringTokenizer得到的line.So我能够得到

1.0  3.0 
delim1.0 
delim3.0 
so on 

每个值但是,当我试图把分隔符作为一个参数就对我来说工作不正常。 (通过按下在keyboard “Tab” 键)作为参数

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.passed " ",它工作正常。

2.passed "\t"作为argument.It是显示

1.0  3.0 
delim1.0  3.0 

3.passed \t作为argument.It是表示该

1.0  3.0 
delim1.0  3.0 

为什么会这样。

+0

下载者请评论 –

+1

你期待什么?即使你通过一个标签而不是一个空格来让分词器分割线条?如果文件中的数字与空格分开,则必须使用空格作为分隔符。 –

+0

+1不,空格是TAB。在发布问题的同时,格式化它成为空间。 –

回答

0

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

相关问题