no_russion
2019-07-17 14:00
采纳率: 67.7%
浏览 321
已采纳

java输入输出问题,为什么想写入的是12345,但是输出却是0

package 流;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.Buffer;

public class 写入
{

    public static void main(String[] args)
    {
        // TODO Auto-generated method stub
        try
        {
            DataOutputStream out=new DataOutputStream
                    (
                            new BufferedOutputStream
                            (
                                    new FileOutputStream("b.dat")
                            )
                    );
            out.writeInt(12345);
            out.close();
            DataInputStream in=new DataInputStream
                    (
                            new BufferedInputStream
                            (
                                    new FileInputStream("b.dat")
                            )
                    );
            System.out.println(in.read());
        } catch (FileNotFoundException e)
        {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e)
        {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

}

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • weixin_42589786 2019-07-17 14:25
    已采纳

    in.read()是读入一个字节,要用 in.readInt()
    写出文件的格式要与读取文件的格式相对应起来,你用什么格式写出到文件的,就用什么格式读文件。

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • wlq199101 2019-07-17 14:27

    楼上正解

    public static void main(String[] args) {
            try {
                DataOutputStream out = new DataOutputStream(new FileOutputStream("d:\\aaaa.bat"));
                out.writeInt(123456);
                out.close();
                DataInputStream  dis = new DataInputStream(new FileInputStream("d:\\aaaa.bat"));
           System.err.println(dis.readInt());
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题