国产成人精品18p,天天干成人网,无码专区狠狠躁天天躁,美女脱精光隐私扒开免费观看

如何使用Java實(shí)現inputstream流的復制

發(fā)布時(shí)間:2021-09-27 17:50 來(lái)源:億速云 閱讀:0 作者:小新 欄目: 開(kāi)發(fā)技術(shù)

這篇文章給大家分享的是有關(guān)如何使用Java實(shí)現inputstream流的復制的內容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。

獲取到一個(gè)inputstream后,可能要多次利用它進(jìn)行read的操作。由于流讀過(guò)一次就不能再讀了,而InputStream對象本身不能復制,而且它也沒(méi)有實(shí)現Cloneable接口,所以得想點(diǎn)辦法。

實(shí)現思路:

1、先把InputStream轉化成ByteArrayOutputStream

2、后面要使用InputStream對象時(shí),再從ByteArrayOutputStream轉化回來(lái)

代碼

package com.test;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStream;public class StreamOperateUtil {public static void main(String[] args) throws FileNotFoundException {InputStream input = new FileInputStream("c:\test.txt");//InputStream input = httpconn.getInputStream(); //這里可以寫(xiě)你獲取到的流ByteArrayOutputStream baos = cloneInputStream(input);// 打開(kāi)兩個(gè)新的輸入流InputStream stream1 = new ByteArrayInputStream(baos.toByteArray());InputStream stream2 = new ByteArrayInputStream(baos.toByteArray());}private static ByteArrayOutputStream cloneInputStream(InputStream input) {try {ByteArrayOutputStream baos = new ByteArrayOutputStream();byte[] buffer = new byte[1024];int len;while ((len = input.read(buffer)) > -1) {baos.write(buffer, 0, len);}baos.flush();return baos;}catch (IOException e) {e.printStackTrace();return null;}}}

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自互聯(lián)網(wǎng)轉載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權請聯(lián)系QQ:712375056 進(jìn)行舉報,并提供相關(guān)證據,一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容。

国产精品自在线拍国产| 熟熟熟熟熟熟熟熟妇50岁| 肉感饱满中年熟妇日本| 亚洲爆乳少妇无码激情| 亚洲AV中文无码乱人伦在线咪咕| 成年永久一区二区三区免费视频|