已采纳回答 / 小飞vsKK
跟双字节没关系。in.read()读取的是一个字节,一个字节占八位,用十六进制表示当然为两个数字了(四个二进制位与一个十六进制位相当)。你要Integer.toOctalString八进制就是3位数字,Integer.toBinaryString(b)二进制就是八位。
2016-11-04
已采纳回答 / 慕粉2217129173
一般是用-1就表示结尾,当读到-1时就到结尾了,例如 xxx.read()=-1,这样就表示读到结尾了....假如在循环中不想读到结尾就结束就while(! xxx.read()=-1){...}
2016-11-02
已采纳回答 / yasinSun
输入int的时候分4次输入那块,有4个byte;然后用writeInt的时候直至输入一个int又是4个byte,最后输入哪个汉字的时候2byte,2+4+4+2总共12byte
2016-11-01
已采纳回答 / Jenichan
import java.util.Scanner;public class test {public static void main(String[] args) {// TODO Auto-generated method stubScanner input = new Scanner(System.in);System.out.println("请输入1和2");int a;while(true){ a=input.nextInt(); if(a!=1&&a!...
2016-10-31
已采纳回答 / 勇敢的心9
以下仅供参考,只是个人的理解,我也是新手:输入输出流:最原始的方法,按字节读取;相当于打印机打印文章时:一个字一个字打印。数据输入输出流:在输入输出流的基础上进行了简单的封装(处理),可以按照数据基本类型读取,例如打印机打印文章:一个词语,或者成语,或者直接打印一句话,而不是一个字;缓冲流:进一步封装,憋满大招再放,像打印机一次性打印一篇文章,或者一个段落。
2016-10-30
已采纳回答 / 小凡先森
简单点说,原来开辟空间之后输入的buf是Byte型,只有8位。现在要用Integer.toHexString把int型转化成字符型,这个函数括号里输入的一定要是int型也就是32位;为了不发生错误,就先用位与&把Byte型(只有8位)前面的24位全都变成0(比如:byte数据1011 1011&1111 1111 1111 1111....,按位运算,高位不足补0,1&1=1,1&0=0,0&0=0)。打个比方就是:8个乒乓球(byte数据)放到长度为32的筒状盒子...
2016-10-30
已采纳回答 / 歌者休
老师的解释:(1)认识文本和文本文件java的文本(char)是16位无符号整数,是字符的unicoid编码(双字节编码)文件是byte byte byte 的数据序列文本文件是文本(char)序列按照某种(utf-8,utf-16be,gdk)序列化为byte的存储结果
2016-10-26