已采纳回答 / 哏誰倆呐
你好,io流中的字节流,就是传输数据的时候,一个一个字节的传输,字符流,就是以一个字符来传输。我们知道字符的长度,是字节长度的两倍。而且中文是用字符来表示的,这时候把中文这种一个字符表示的数据,用字节,分成两次来传输就会出现问题,我常见的是中文显示为问号。但是,要用那种流......这个我常常是 用包装后的 bufferedReader 和 BufferedWriter,和 PrinterWriter因为带有缓冲区,可以减少硬盘读写次数,保护硬盘。望采纳。
2015-12-03
已采纳回答 / Rober_Lin
mkdirs()可以建立多级文件夹, mkdir()只会建立一级的文件夹, 如下:new File("/tmp/one/two/three").mkdirs();执行后, 会建立tmp/one/two/three四级目录new File("/tmp/one/two/three").mkdir();则不会建立任何目录, 因为找不到/tmp/one/two目录, 结果返回false
2015-12-02
已采纳回答 / 雲中菩提
while循环条件写错了。看看JDK文档上FileInputStream的read方法是怎么解释的:返回:读入缓冲区的字节总数,如果因为已经到达文件末尾而没有更多的数据,则返回 -1。 所以,while应该写 (b=(in.read(buf,0,buf.length))!=-1
2015-11-19
已采纳回答 / 雲中菩提
序列化就是保存对象数据状态的。反序列化就是恢复对象数据状态的。再打个比方吧:Cookie,用户数据被序列化,保存在本地。可以看到,Cookie实现了序列化接口:<...code...>你在打开购物网...
2015-11-11
已采纳回答 / 雲中菩提
当然不是。其实在硬盘上查找,读写数据是靠磁头这个搬运工的。而数据的载体是内存。磁头从硬盘中读取数据到内存,就像搬箱子,从内存中写出数据到硬盘,就是卸箱子。如果有10个箱子,从A到B,来回的时间是1s。搬起(output)与放下(input)一个箱子也需要1s 。如果一次只搬一个箱子,需要来回10次,搬完需要20s。如果一次搬起(read)、放下(write)10个箱子,那么只需要来回一次,搬完也才11s。批量读和单字节读,节约的时间,就是在运输途中。
2015-11-11
已采纳回答 / Javer_
嵌套应该是涉及到它类的定义,在它的构造方法中需要输入FileInputStream的实例化对象至于byte转char,其中的byte应该是指read()方法从isr中取出的一个字节(以int形式表达),而不是它的参数
2015-11-08
已采纳回答 / godspeed_26
所有的文件都可以理解为是byte[]。而1个byte占1个字节,一个Int是4个字节。所以说你写进去的东西将会出现乱码,除非你已readInt().或者已write()写read()读,总之你的输入和读取的类型要相同。
2015-11-04