• ベストアンサー

バイナリファイルの読み込みについて

java初心者です。 今バイナリファイルの読み込みを行っているのですがバイナリファイルのデータの値とプログラムで読み込んだ値が違っているので困っています。 バイナリファイルはASCIIテキストになっていてデータを見ることができ中身は -0.00012 -0.00009 -0.00009 -0.00012 -0.00009 -0.00009 -0.00009 -0.00012 ・・・・・・・(値が続くという意味です) となっています。 作ったプログラムは import java.io.*; class a { public static void main(String[] args) { try { FileInputStream in = new FileInputStream("file name"); int ch; while ((ch = in.read()) != -1) { System.out.println(ch); } in.close(); } catch (IOException e) { System.out.println(e); } } } で作って読み込んでみたのですが出力された値は 45 48 46 48 48 48 49 50 ・・・・・・ になってしまいます。 どのようにしたら値が等しくなるのでしょうか。教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

http://www.tohoho-web.com/java/file.htm ↑ここ読めば大体理解できるかと。 1番下の例を使えばたぶん望みの結果になると思います。

ci06
質問者

お礼

回答ありがとうございます。 教えていただいたとおり1番下の例を使用したところ 望んだ結果になりました。 ありがとうございました。

その他の回答 (1)

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.1

バイナリファイルじゃなくてテキストファイルのよう見えますけど。 45 '-' 48 '0' 46 '.' 48 '0' 48 '0' 48 '0' 49 '1' 50 '2' でしょ? どう直すかは何がしたいかによりますけど。

ci06
質問者

お礼

回答ありがとうございます。 調べたんですがテキストファイルではなくバイナリファイルみたいです。 ご指摘ありがとうございます。 おかげさまで理解できました。ありがとうございます。

関連するQ&A