import java.io.*;

class CompFiles{
public static void main(String []args)throws IOException{
DataInputStream datain1,datain2;
byte a1=0,a2=0;
int com=1;
try{
datain1 = new DataInputStream(n

展开全部
收起
2回答
提交回答
  • 至过去的我

    2044人对此回答表示赞同

    我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多>
    发布于
  • 羊来了

    9人对此回答表示赞同

    应该是这句
    while(a1!=-1&&a2!=-1){
    a1 = datain1.readByte();
    a2 = datain2.readByte();
    先说我也不是很清楚啊 我猜2种情况:
    1 文件恰巧已经读到最末了,此时a1应该是!=-1然后你还继续往下读 ,应该就会报EOFException.
    2 a1读完了a2没读完,程序段还是运行的,a1 = datain1.readByte()就应该报EOFException。
    展开
    9
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • 吴语

    6人对此回答表示赞同

    以下是readByte的源码,你看到了当文件读完时,就抛出EOFException。所以两个文件都为空或者两个文件内容完全相同时就会抛出EOFException。
    public final byte readByte() throws IOException {
    int ch = in.read();
    if (ch < 0)
    throw new EOFException();
    return (byte)(ch);
    展开
    6
    0回复
    发布于 6年前

    评论(0)

    收起评论

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
咨询热线

13312967497

扫码添加业务即可随时咨询 还可领取小程序推广攻略

业务咨询: 13312967497
扫码咨询

扫码咨询套餐

回到顶部