File file=new File("f://file.txt");
        try {
            FileOutputStream fos=new FileOutputStream(file);
            DataOutputStream dos=new DataOutputStream(fos);
            int n=123;
            int i=1;
           /* for(i=0;i<=100;i++){
                dos.writeDouble(Math.random());
                dos.writeChars("\n");
            }*/
            dos.writeInt(n);
            dos.flush();
            dos.close();
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
为什么写入的    {,而不是123          ???

解决方案 »

  1.   

    你写入OutputStream的值是一个int值123,用文本文件打开会换成123值对应的 字符编码 输出的就是{
    如果你想要存储后打开文本文件显示123,那么你直接存入字符串"123"
    import java.io.*;public class DataOutputStreamDemo {
        public static void main(String[] args) {
            File file=new File("f://file.txt");
            try {
                FileOutputStream fos=new FileOutputStream(file);
                DataOutputStream dos=new DataOutputStream(fos);
                int n=123;
                int i=1;
                /* for(i=0;i<=100;i++){
                dos.writeDouble(Math.random());
                dos.writeChars("\n");
                }*/
    //            dos.writeInt(n);
                dos.writeBytes("123");
                dos.flush();
                dos.close();
            } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }其实即便你打开文本编辑器显示的是{,用DataInputStream读出来的值仍然是123,你自己可以用DataInputStream流取出来看看,用int或byte取出来123,用String取出来就是 {
      

  2.   

    写入的确实是int值123
    楼上已经解释过了
      

  3.   

    import java.io.*;class Test

    public static void main(String[] args) throws Exception

    FileOutputStream fos=new FileOutputStream("Test.txt");
    DataOutputStream out=new DataOutputStream(fos);
    int n=123;
    out.writeBytes(String.valueOf(n));    //先将123转化成字符串,将字符串按字节顺序写出到基础输出流中。
    out.close();
    fos.close();
    FileInputStream fis=new FileInputStream("Test.txt");
    DataInputStream in=new DataInputStream(fis);
    byte[] b=new byte[1024];
    int i;
    if((i=in.read(b,0,b.length))!=-1)
    {
    System.out.println(new String(b,0,i));
    }
    fis.close();
    in.close();
    }
    }