最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

在java中如何將inputStream對(duì)象轉(zhuǎn)換為File對(duì)象(不生成本地文件)

 更新時(shí)間:2025年03月31日 09:48:17   作者:愛學(xué)習(xí)的大雄  
這篇文章主要介紹了在java中如何將inputStream對(duì)象轉(zhuǎn)換為File對(duì)象(不生成本地文件),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

需求說明

在后端中通過POI生成Excel文件流,將輸出流(outputStream)轉(zhuǎn)為輸入流(inputStream)后又需要將輸入流(inputStream)轉(zhuǎn)為File對(duì)象

問題:如果需要將輸入流(inputStream)轉(zhuǎn)為File對(duì)象,則必須要根據(jù)本地路徑去生成一個(gè)File對(duì)象才行,也就是說不管怎樣本地都必須要生成出來一個(gè)文件

問題解決

在經(jīng)過一系列的資料查詢后,發(fā)現(xiàn)如下方式可以大致滿足需求

import org.apache.commons.io.IOUtils;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
public class StreamUtil {
    static final String PREFIX = "stream2file";//前綴字符串定義文件名;必須至少三個(gè)字符
    static final String SUFFIX = ".tmp";//后綴字符串定義文件的擴(kuò)展名;如果為null,則將使用后綴".tmp"
    public static File stream2file (InputStream in) throws IOException {
        final File tempFile = File.createTempFile(PREFIX, SUFFIX);
        tempFile.deleteOnExit();
        try (FileOutputStream out = new FileOutputStream(tempFile)) {
            IOUtils.copy(in, out);
        }
        return tempFile;
    }
}

我們運(yùn)行以上程序后tempFile即為我們需要的File對(duì)象。

看到這里你可能會(huì)好奇,這不是也在本地生成了個(gè)文件嗎?

但是它生成的文件位置是存儲(chǔ)在以下的(計(jì)算機(jī)的臨時(shí)文件目錄中),所以可以看成沒有在本地生成文件:

C:\Users\TP\AppData\Local\Temp\tmp2447618135336474361.txt

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

恭城| 永平县| 资阳市| 邯郸县| 盐亭县| 射阳县| 湖北省| 佛坪县| 肇东市| 依兰县| 桑日县| 南充市| 南岸区| 定边县| 永定县| 曲靖市| 班戈县| 永福县| 威信县| 红原县| 杭锦后旗| 东兴市| 厦门市| 赣州市| 叶城县| 上杭县| 额尔古纳市| 沾益县| 临海市| 罗定市| 武强县| 吉林省| 尉犁县| 镶黄旗| 桐庐县| 固阳县| 呼和浩特市| 昌图县| 红河县| 会同县| 明星|