最赞回答 / meersun
char c=dis.readChar();//一次只能取一个char‘中’System.out.print(c);c=dis.readChar();//取‘国’System.out.print(c);
2016-03-04
最赞回答 / 煎饼学徒
<...图片...>因为文件在输入的时候是第一次输入了一个10,第二次输入了-10,两个都为 int 型 ,为了读取这两个数,就需要:int i = dis.readInt();System.out.println(i);i = dis.readInt();System.out.println(i);而...
2016-03-02
已采纳回答 / 顾小北
首先暂且不看你说的问题,我们先来说明一个关于用时的问题:在文件的拷贝过程中,最耗时的就是IO操作,也就是取 或者存进文件的过程最耗时,(也就是从水缸中取或者放水的过程,反而运送的过程不算耗时。)所以对于你的问题,我相信你关于一滴一滴 和一瓢一瓢你是没有问题的,因为一瓢一瓢显然取的次数比一滴一滴的少。你所不能理解的就是缓冲区同样是一瓢一瓢的,而且还增加了倒入桶的过程,但是为什么还要比DataOutputStream--->writexxx(如writeInt)方法快一些,其实准确来说,应该是一次取一个...
2016-03-01
最新回答 / qq电子时代
因为dir为参数 在递归for循环中需要传输的参数已经不再是dir了,而是新定义的参数名称File[] files=dir.listFiles(); if(files!=null && files.length>0){ for(File file:files){ if(dir.isDirectory()){ listDirectory(file);在此,这个file才是最新的参数,
2016-03-01
已采纳回答 / 派皮诺
Test15.printHexByByteArray("F:\\javadata\\第五章代码\\project\\src\\com\\imooc\\InitailTelphone.java");应该是这个里面的循环没有结束。你在最后面直接输出System.out.println("慕课")试试,如果也不能输出,那就是上面这个方法的问题了。我自己写时while((bytes=in.read(buf, 0,buf.length))!=-1)刚开始把-1写成0,就出现你这个问题,你检查检查Test15.pri...
2016-03-01
最新回答 / 启铭星
把if的判断条件再限制严格一点,改为 if(buf[i] <= 0xf && buf[i] >= 0x0) 出现3位的都是最高位为1的,被识别为有符号的负数,肯定小于0xf了
2016-02-29
已采纳回答 / meersun
String file="demo/dos.dat";//这里只是定义一个字符串DataOutputStream dos=new DataOutputStream(new FileOutputStream(file));//在括号里面创建了一个FileOutputStream,并给了DataOutputStream做了参数
2016-02-21