關(guān)于InputStream里的read(byte[] b, int off, int len)
InputStream fi = new FileInputStream(file1);???
OutputStream fo = new FileOutStream(file2);????
byte[] b = new byte[fi.available];
while((int i = fi.read(b,0,b.length)) != -1) {
????fo.write(b,0,i);
}
請問這個read是一次就能把fi流里的東西全部讀出來還是一部分一部分地讀,如果是一部分一部分讀,那讀到末尾-1了結(jié)束循環(huán)最后讀取那次帶-1的部分是不是就讀不進去了。(請無視截圖)
2016-09-14
老師講的很清楚了。
2016-07-13
批量讀取啊,每次都讀,從零開始讀,一直讀取到b.length這個長度,當全部讀完,返回-1,則結(jié)束
2016-07-10
你的代碼是批量讀取,就是一部分一部分的讀,每一次read都會返回一個int值,代表這一次讀取實際獲得的字節(jié)數(shù),如果返回-1,則代表沒有讀取到內(nèi)容,就結(jié)束了