已采纳回答 / qq_星河k_0
问题和代码无关,你只要输出System.out.println(0xffffffff)就会得到-1;原因是int 是有符号位,占4个字节,而0xffffffff是以int类型存储的,int是有符号的。即1111 1111 1111.......第一位被用来记录符号,所以这里就被解释为负号了,而Java在编码时,存储的是负数的补码,所以你的1111.....就成了1000......+1就是10000.....1就是-1啦。所以16进制最大的数是0x7fffffff.
2018-07-17
已采纳回答 / 神乐Triste
您说的是in是什么类型的呢,FileInputStream?在FileInputStream的read()方法中有返回值为int类型的重载函数.
2018-07-07
已采纳回答 / 一把年纪小二郎
因为你的只导入了BufferReader的包,没有导入其余流对应的包 你可以改为1.导入你目前代码中使用的流包2.直接导入java.io.*所有的IO包
2018-06-18
已采纳回答 / HungerCheung
问题原因:<...code...>解决方法:
//注释掉或者直接删除下面这行代码可以得到和老师同样的结果 //Bar2 bar2 = new Bar2(); //该程序是为了测试反序列化得到对象是否调用其构造方法 //因此重新新建一个Bar2的实体对象是完全没有必要的,反而会混淆测试结果
2018-06-05
已采纳回答 / HungerCheung
一楼讲很清楚了。老师在课上也说了:双反斜杠,或者单斜杠都可以表示路径。看你习惯哪一种用法。望采纳。如果还有什么不懂,可以私我,我会尽快回复。
2018-05-14
已采纳回答 / syousyou
因为调用自己的时候(listDirector(file2);),listDirector()方法重新执行了一次:num重置为0,sum重新计数,System.out.println("一共:"+num+"个文件!")重新打印一次
2018-05-08
已采纳回答 / 慕斯卡3197864
你好,一开始read返回的是读取的字节数;当把内容都读完后,返回的数为-1举个例子:例如要读取的文件字节数是100,buf.length为60。第一次read返回给bytes的是读取的字节数:大小为数组的长度60;第二次read返回给bytes的还是读取的字节数,但大小为剩下的100-60=40了;第三次由于到文件末尾,100个字节内容都读完了,read就返回-1给bytes综上,文件没读完时,read返回的是读取的字节数;文件读完后,read返回的是-1,用于判断文件是否读取完成。望采纳。
2018-04-11
已采纳回答 / zjxjwxk
我这里用你的没有一点问题诶 是不是main函数有问题你把序列、反序列封装成函数,那我的main函数是这样的:ObjectOutputStream oos = new ObjectOutputStream( new FileOutputStream("demo/obj2.dat") ); Bar2 bar2 = new Bar2(); oos.writeObject(bar2); oos.flush(); ...
2018-02-24