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

求解答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 运筹学排序问题中的在线排序
  • ¥30 求一段fortran代码用IVF编译运行的结果
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 lammps拉伸应力应变曲线分析
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
  • ¥30 python代码,帮调试,帮帮忙吧