本地圖片File轉InputStream,網絡圖片轉InputStream,InputStream轉OutputStream


本地圖片File轉InputStream:

File file = new File(filePath);
FileInputStream inputStream = new FileInputStream(file);

 

網絡圖片轉InputStream:

InputStream inputStream = getInputStream(path);

 

BufferedImage轉FileOutputStream:

BufferedImage image = ImageIO.read(filePath1);  // 從本地讀取一張圖片

對圖片進行處理。。。

FileOutputStream out = new FileOutputStream(filePath2);  // 將處理后的圖片保存到本地
ImageIO.write(image, "jpg", out);
out.close();

BufferedImage轉ByteArrayOutputStream:

BufferedImage bufferedImage = Thumbnails.of(HttpUtils.getInputStream(filePath)).scale(0.1f).outputQuality(1f).asBufferedImage();
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
ImageIO.write(bufferedImage, "jpg", outputStream);

 

InputStream轉OutputStream:

ByteArrayOutputStream os = cloneInputStream(inputStream);

 

流轉字節數組:
byte[] fileByteArray = os.toByteArray();

---------------------------------------------------------------------------------------------------------------------

2021-06-18更新:

Hutool中的IoUitl封裝了很多API,方便我們直接調用:

ByteArrayInputStream in = IoUtil.toUtf8Stream(HttpUtil.get(imageUrl));  // 網絡圖片轉輸入流

ByteArrayOutputStream out = new ByteArrayOutputStream();  // 聲明一個輸出流

IoUtil.copy(in, out, IoUtil.DEFAULT_BUFFER_SIZE);  // 將輸入流拷貝到輸出流中

out.toByteArray();  // 輸出流轉字節數組

IoUtil.readBytes(in);  // 省略創建輸出流的步驟,直接將輸入流轉為字節數組


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM