最赞回答 / 慕标5802213
1)序列化(Serialization): 在分布式环境下,无论是何种数据,都会以二进制序列的形式在网络上传输。序列化是一种将对象以一连串的字节描述的过程,用于解决在对对象流进行读写操作时所引发的问题。序列化可以将对象的状态写在流里进行网络传输,或保存在文件、数据库里,并在需要时把该流读取出来重新构造一个相同的对象。要实现序列化的类必须实现Serialization接口(位于java.lang包中);使用一个输出流(如FileOutputStream)来构造对象流(如ObjectOutput...
2016-12-10
最新回答 / Yaro
添加图片是需要把文件传进来,转换成流写入到你要存储的位置。删照片直接用file的delete方法就可以了。至于怎么把流转换成图片,继续往后看吧!方法千千万!
2016-12-08
最新回答 / 慕粉4188041
创建的不是在f盘里,这样创建才是在f盘里:(new File("f:\\123.txt")。(new File("f\\123.txt"), 这样是在工程路径下创建的需要按f5刷新,就会出现。
2016-12-07
已采纳回答 / 透过眼镜的脸
getBytes()方法是将一个字符串转化为一个字节数组byte[]的方法,使用的是默认的UTF-8编码表进行转换的。byte是数据类型,不是进制类型,没有说是二进制。java的byte是-128~127区间,所以说转换成十六进制没毛病。
2016-12-05
已采纳回答 / chrealcool
是数据长度。是in.read读取文件存放在buf中的长度,你代码中输出bytes看下就知道了。估计你是把数据和长度搞混了把数据是存放在buf字节数组中,即老师代码中输出buf[i]
2016-12-03
已采纳回答 / 绿色蝈蝈拜见
不好意思,是我没有解释清楚。这个问题提的好!首先我们贴出Java的源码:public synchronized int read() throws IOException { if (pos >= count) { fill(); if (pos >= count) return -1; } return getBufIfOpen()[pos++] & 0xff;注意返回值,read的返回值虽然是int,但是他是读取的byte&0xff得到的,而例2中,因为...
2016-12-01
已采纳回答 / rjyb22
0xff即16进制的1515,转化为二进制为11111111,不管byte[i]要转化为什么进制,要变成多少位,只要和11111111相与,结果就是个八bit位的数,所以就去0,
只要知道0xff=11111111就好,它是8bit位。
2016-11-30
已采纳回答 / 绿色蝈蝈拜见
凌晨来回答问题。首先我们要弄明白,对于一个buf[i], 我们在什么情况下需要在输出之前补0,什么时候不需要补0.答案很清楚,如果它的高四位都是0,那么我们需要补,否则不需要。那么问题来了,怎么判断呢?老师的代码是用buf[i] <= 0xf,可是代码结果不正确,会出现错误补0,也就是三个数字一起的情况。如果buf[i] == 0xff, 那么按程序是需要补0,因为作为一个byte,0xff实际上等于-1, 那么自然也小于0xf,因为0xf代表15.这就是出错的问题。if判定语句改为((buf&am...
2016-11-28
最新回答 / JacXuan
因为批量读取全部写入到缓冲区,出现文件夹,代表已经读写完毕。而其他两种方式,文件夹刚开始出现是0kb。也就是空文件夹,它们是先创建文件夹,后读写,所以批量读取最后才出现,但出现时已经读写完毕,单字节读写先创建了文件夹,但读入还在进行。
2016-11-27