wozhihaoluandale 2022-04-26 11:31 采纳率: 66.7%
浏览 42
已结题

求解答DataInputStream和DataOutputStream读取文件,整不明白了

问题遇到的现象和发生背景

这里发我想将几个基本数据类型写入文件,文件里是乱码,然后我通过DataInputStream读取的时候报了EOFException

问题相关代码,请勿粘贴截图
public static void main(String[] args) throws IOException {
        String path = "src/data.txt";
        String topath = "读取.txt";
        DataInputStream dataInput;
        DataOutputStream dataOutput;
        dataOutput=new DataOutputStream(new BufferedOutputStream(new FileOutputStream(new File(topath))));
        int i=1;
        boolean flag=true;
        String s="我";
        double dou=3.00;
        dataOutput.write(i);
        dataOutput.writeBoolean(flag);
        dataOutput.writeUTF(s);
        dataOutput.writeDouble(dou);
        dataOutput.flush();
        dataOutput.close();
        dataInput=new DataInputStream(new BufferedInputStream(new FileInputStream(new File(topath))));
        int i1 = dataInput.readInt();
        boolean b = dataInput.readBoolean();
        String s1 = dataInput.readUTF();
        if (s1 instanceof String){
            s1=(String)s1;
        }
        double v = dataInput.readDouble();
        System.out.println(i1);
        System.out.println(b);
        System.out.println(s1);
        System.out.println(v);
        dataInput.close();
    }
运行结果及报错内容
Exception in thread "main" java.io.EOFException
    at java.io.DataInputStream.readFully(DataInputStream.java:197)
    at java.io.DataInputStream.readUTF(DataInputStream.java:609)
    at java.io.DataInputStream.readUTF(DataInputStream.java:564)
    at com.zheng.CopyFile04.main(CopyFile04.java:37)
我的解答思路和尝试过的方法

想不明白白,来问问大嗯。

我想要达到的结果

能正确读取出文件里的内容,通过控制台输出。感谢解答!

  • 写回答

2条回答 默认 最新

  • wozhihaoluandale 2022-04-26 11:56
    关注

    哦,我知道我哪里错了,第一个写入的int类型应该是writeInt。直接write是写入了字节,然后我读取的时候读取的int类型,所以往下读取的时候长度对不上,报了EOFException。感谢为次贴做出思考或浏览过以及回答的人,谢谢!感觉自己好蠢,找了好久。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 5月4日
  • 已采纳回答 4月26日
  • 创建了问题 4月26日

悬赏问题

  • ¥15 (标签-STM32|关键词-智能小车)
  • ¥20 关于#stm32#的问题,请各位专家解答!
  • ¥15 (标签-python)
  • ¥15 第一个已完成,求第二个做法
  • ¥20 搭建awx,试了很多版本都有错
  • ¥15 java corba的客户端该如何指定使用本地某个固定IP去连接服务端?
  • ¥15 activiti工作流问题,求解答
  • ¥15 有人写过RPA后台管理系统么?
  • ¥15 Bioage计算生物学年龄
  • ¥20 如何将FPGA Alveo U50恢复原来出厂设置哇?