已采納回答 / 好幫手慕珊
不是一次性都讀取到buf數組中,看下面的代碼第5行,通過read方法讀到buf數組中,buf數組滿了就進行處理(轉換成16進制顯示),然后再接著讀,直到讀到文件末尾為止。FileInputStream in = new FileInputStream("e:\javaio\1.mp3"); byte[] buf = new byte[8 * 1024]; ?int bytes = 0; ?int j = 1; ?while((bytes = in.read(buf,0,buf.length))!=-1)...
2014-11-26
最贊回答 / 源代碼_思無邪
建立數組進行讀文件,就是為了讀取文件內容時快一些而己,不管你建多大的數組(當然還受內存大小影響),總會有你一次讀不了的文件。你首先要明白你讀文件是為了干什么?有沒有必要一次將文件都讀到流中,象老師講的例子:復制文件,或者是將大文件分割再合成等就沒有必要一次將文件讀到流中呀。一次性讀不完,老師的例子里說得很清楚了呀:就是那個while((b=in.read(buf, 0, buf.length))!=-1)語句,沒有讀完就一直循環,只到讀到文件尾。
2014-11-26
已采納回答 / 好幫手慕珊
寫入順序和讀取順序一致即可,見下面的代碼,在老師代碼的基礎上加了一個age1屬性,用transient修飾package com.imooc.io;import java.io.Serializable;public class Student implements Serializable{ private String stuno; private String stuname; //該元素不會進行jvm默認的序列化,也可以自己完成這個元素的序列化 private transient int stua...
2014-11-18