2013-04-28 3 views
0

두 파일에 부동 소수점 숫자가 있습니다. 나는 그들을 하나의 파일에 쓰고 싶다. 필자가 쓰기 후에 파일을 열면 부동 소수점 숫자를 볼 수 없습니다. 기계 코드 등을 볼 수 있습니다. 여기 내 코드는파일에 플로트 번호 쓰기

import java.io.*; 
import java.util.*; 
public class F 
{ 
    public static void main(String args[]) throws Exception 
{ 
    FileInputStream fr1 = new FileInputStream("distance.txt"); 
    BufferedReader br1 = new BufferedReader(new InputStreamReader(fr1)); 
    FileInputStream fr2 = new FileInputStream("price.txt"); 
    BufferedReader br2 = new BufferedReader(new InputStreamReader(fr2)); 
    FileOutputStream fw1 = new FileOutputStream("file1.txt"); 
    BufferedOutputStream bos=new BufferedOutputStream(fw1); 
    DataOutputStream dos=new DataOutputStream(bos); 
    String s1,s2; 
    while(((s1 = br1.readLine()) != null) && ((s2=br2.readLine())!=null)) 
    { 
     float a1=Float.parseFloat(s1); 
     float a2=Float.parseFloat(s2); 
     a1=a1*10; 
     a2=a2*10000; 
     System.out.println(a1+" "+a2); 
     dos.writeFloat(a1); 
     dos.writeFloat(a2); 

    } 
} 
} 
+0

파일, 예상 한 내용 및 실제로보고있는 내용을 표시하십시오. –

+3

'DataOutputStream.writeFloat'에 대한 문서를 읽었습니까? 당신이 * 텍스트 * 표현을 기대하고있는 것처럼 들립니다. –

+0

'DataOutputStream'을 사용하고 있기 때문에, 파일의 내용은 사람이 읽을 수 없습니다. –

답변

4

이진 형식으로 작성하고 있습니다.

참고 : DataInput/OutputStream은 바이너리 형식이고 Reader/Writers는 텍스트 형식입니다.

텍스트를 쓰려면 PrintWriter를 사용하는 것이 좋습니다.

BTW FileInputStream 및 InputStreamReader 대신 FileReader를 사용할 수 있습니다.

+0

감사합니다. :) – user2133404