亚洲免费在线视频-亚洲啊v-久久免费精品视频-国产精品va-看片地址-成人在线视频网

您的位置:首頁技術文章
文章詳情頁

java - inputstream流讀到最后為什么沒有返回 -1 ?

瀏覽:126日期:2024-01-10 15:18:05

問題描述

InputStream fileSource = req.getInputStream();String tempFile = '/home/joy/桌面/tempFile';FileOutputStream tempFileOutputStream = new FileOutputStream(tempFile);byte[] bytes = new byte[10 * 1024];int i = 0;while ((i = fileSource.read(bytes, 0, bytes.length)) != -1) { System.out.println('已讀字節:' + i + ', 剩余字節: ' + fileSource.available()); System.out.println(new String(bytes)); tempFileOutputStream.write(bytes); tempFileOutputStream.flush(); if (fileSource.available() < bytes.length) {bytes = new byte[fileSource.available()]; }}tempFileOutputStream.close();fileSource.close();

為什么該流讀完的時候并沒有返回-1,而是返回0,導致無限循環.(上傳文檔類型文件不會,字節文件就會發生這種情況)java - inputstream流讀到最后為什么沒有返回 -1 ?

問題解答

回答1:

應該是你最后對buffer的處理導致剛剛好讀取完文件吧

if (fileSource.available() < bytes.length) { bytes = new byte[fileSource.available()];}

一般情況下不需要重設buffer的大小

標簽: java
相關文章:
主站蜘蛛池模板: 亚洲国产精品影院 | 日本免费人做人一区在线观看 | 亚洲国产天堂在线网址 | 亚洲国产日韩女人aaaaaa毛片在线 | 国产黄色片在线免费观看 | 亚洲精品国产免费 | 女人张开双腿让男人桶完整 | 国产三级日产三级韩国三级 | 国产精品日本欧美一区二区 | 国产欧美日韩视频在线观看 | 亚洲va中文字幕 | 在线视频精品视频 | 中国成人免费视频 | 亚洲成在线| 欧美日韩一区二区在线观看 | 国产欧美成人一区二区三区 | 中文在线三级中文字幕 | 午夜在线精品不卡国产 | 成年18网站免费视频网站 | 永久在线 | 亚洲国产成人精品激情 | 久久精品视频一区二区三区 | 欧日韩视频777888 | 美国一级毛片不卡无毒 | 亚洲网站一区 | 成人69视频在线观看免费 | 久久福利青草精品资源 | 国产精品yjizz视频网一二区 | 成人午夜看片 | 久久精品亚洲精品国产欧美 | 国产精自产拍久久久久久 | 中国国语毛片免费观看视频 | 手机看片免费基地你懂的 | 国产精品视频免费观看调教网 | 狠狠88综合久久久久综合网 | 国产亚洲精品久久精品6 | 91视频18| 久久一区二区三区不卡 | 香蕉伊人网 | 特黄特级a级黄毛片免费观看多人 | 国产精品久久久久久吹潮 |