java的read
Ⅰ 鍦ㄧ敤java瀹炵幇鏂囦歡澶嶅埗鐨勬椂鍊欙紝(len=in.read(bytes))!=-1涓轟粈涔堝繀欏誨垽鏂錛=-1錛岃繖涓鍒ゆ柇鐨勫叿浣撴剰鎬濇槸浠涔
public int read(byte[] b)
榪欎釜鏂規硶鏄浠庢よ緭鍏ユ祦涓灝嗘渶澶 b.length 涓瀛楄妭鐨勬暟鎹璇誨叆涓涓 byte 鏁扮粍涓
瀹冩槸鏈榪斿洖鍊鐨勶紝瀹冭繑鍥炶誨叆緙撳啿鍖虹殑瀛楄妭鎬繪暟錛屽傛灉鍥犱負宸茬粡鍒拌揪鏂囦歡鏈灝捐屾病鏈夋洿澶氱殑鏁版嵁錛屽垯榪斿洖 -1
灝辨槸褰撳畠榪斿洖-1鐨勬椂鍊 鏁版嵁宸茬粡澶嶅埗瀹屼簡 while寰鐜緇堟㈢▼搴忕粨鏉
Ⅱ java中的FileInputStream類中的read()方法是讀取一個數據位元組,那麼讀取完一個位元組後還會自動讀取下一個
read只會讀取一個位元組 不會自動讀取下一個 只會讀第一個位元組 和指針不是一回事
如果想用位元組流讀完文件 一般用一個位元組數組的緩沖區 比如200
byte[] buffer = new byte[200];//創建位元組數組
int length = 0;
while(-1 != (length = is.read(buffer, 0, buffer.length))){
String str = new String(buffer,0,length);
System.out.println(str);
}
Ⅲ java流的read方法返回值怎麼來的
inputstream的read函數 在很多地方都有用到 比如鍵盤輸入或文件流輸入或socket輸入
read的返回值 並不是真正得到的數據,而是得到的數據的長度
你每次會希望讀入一定的長度,比如你想讀10個byte 如果剩餘的byte數足夠,將會讀滿所需要的位元組數,如果剩餘的位元組數不夠 將會返回一個小於你所讀的數 如果讀到-1 表示讀取結束(經常在socket和文件讀取遇到)