2016-09-15 6 views
1

datファイルを読み込んで列名を格納しようとしています。 ファイル内の最初の行はスペースで区切られています。 次のコードは、iがkを印刷する場合は[0]、そのテキストファイル場合、ライン全体と同じが起こらない印刷Javaのdatファイルから読み込むときに空白を読み取れません

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

ラインから列名を分割することができません。空白を読むにはどうすればよいですか

+2

あなたの 'file.dat'の内容を教えてください。あなたのコードはうまく動作し、空白( '' ")で区切られた単語を配列に格納してください。 –

答えて

4

フィールドは、単純な" "以外の空白で区切られている可能性があります。どのような種類の空白でも分割することができます。

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

これが機能しない場合、データは空白で区切られません。区切り文字が何であるかを確認するには、16進エディタ/ビューアを使用してみてください。

+1

良い点。セパレータは非常に頻繁に表化されます。 – Aris2World

+1

OPが "ファイルの最初の行はスペースで区切られています"と言うので、 '\\ s +'はより良い正規表現になります。 '\\ s'は空の文字列を結果の分割配列に含めます。しかし、良い点。 –

+0

これは仕事に感謝しました – Sab

関連する問題