2016-09-15 104 views
1

我正在尝试读取dat文件并存储列名。 文件中的第一行用空格分隔。 以下代码是无法列名从线从java中的dat文件读取时无法读取空白区

FileInputStream fis=new FileInputStream("file.dat"); 
BufferedReader br=new BufferedReader(new InputStreamReader(fis)); 
String line=br.readLine();`` 
String k[]=line.split(" "); 

分裂,如果我打印K [0]它打印整个线和相同不如果其发生的文本文件。我应该怎么做才能读取空白空间

+2

你能提供给我们你的'file.dat'的内容吗?你的代码应该可以正常工作,并将以空格分隔的单词('“”')存储到数组中。 –

回答

4

可能这些字段之间用空格分隔,而不是简单的" "空格。您可以通过任何类型的空白与尝试分裂:

String k[]=line.split("\\s"); 

如果这不工作,要么,数据不是用空格隔开。尝试使用十六进制编辑器/查看器来查看分隔符是什么。

+1

好点。分隔符通常是一个制表符\ t。 – Aris2World

+1

也许'\\ s +'会是一个更好的正则表达式,因为OP会说“文件中的第一行是用空格分隔的”,'\\ s'会在结果拆分数组中包含空字符串。虽然好点。 –

+0

这表示感谢 – Sab