回覆列表
  • 1 # 細講故事

    這個陣列的長度是1024節,in.read()是一次讀一個位元組。in.read(buffer)意思是一次讀1024節。就像分段讀一樣。。。一次傳進去一個1024長度的 buffer 而不是往buffer裡邊傳。第一次傳了1024。第二次976。你可以建個短點字串"abcde"下邊程式碼試下char[] buf = new char[3];int len = 0;while((len =fr.read(buf))!=-1) {System.out.println(new String(buf,0,len));}結果是 abc de;int num = fr.read(buf);// // System.out.println(num+":"+new String(buf,0,num));// int num1 = fr.read(buf);// System.out.println(num1+":"+new String(buf,0,num1));// int num2 = fr.read(buf);你要這麼寫的話 第一次讀的個數是3:abc 第二次 讀的個數是2:de c第三次-1:dec 長度為3的陣列 第一次夠了 第二次 de頂掉了ab c保留;第三次 -1,沒得讀了 就還是dec

  • 中秋節和大豐收的關聯?
  • 為什麼我的電腦滑鼠右鍵裡沒有了新建欄?