在java中将inputStream对象转换为File对象(不生成本地文件)

这篇具有很好参考价值的文章主要介绍了在java中将inputStream对象转换为File对象(不生成本地文件)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

需求说明

在后端中通过POI生成Excel文件流,将输出流(outputStream)转为输入流(inputStream)后又需要将输入流(inputStream)转为File对象

问题:如果需要将输入流(inputStream)转为File对象,则必须要根据本地路径去生成一个File对象才行,也就是说不管怎样本地都必须要生成出来一个文件

问题解决

在经过一系列的资料查询后,发现如下方式可以大致满足需求

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";//前缀字符串定义文件名;必须至少三个字符
    static final String SUFFIX = ".tmp";//后缀字符串定义文件的扩展名;如果为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;
    }
}

我们运行以上程序后tempFile即为我们需要的File对象。

看到这里你可能会好奇,这不是也在本地生成了个文件吗?但是它生成的文件位置是存储在以下的(计算机的临时文件目录中),所以可以看成没有在本地生成文件:文章来源地址https://www.toymoban.com/news/detail-617585.html

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

到了这里,关于在java中将inputStream对象转换为File对象(不生成本地文件)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 【JAVA】#详细介绍!!! 文件操作之File对象(1)!

    【JAVA】#详细介绍!!! 文件操作之File对象(1)!

    本文内容不涉及文件内容操作,主要是对指定文件元信息的获取,以及通过java代码如何创建一个文件或者删除文件 目录 文件操作的File对象  File对象的基本操作方法 得到文件(夹)对象的信息元 1.getParent 2. getName 3.getPath  4. getAbsolutePath和getCanonicalPath 文件和目录的创建 文件

    2024年02月02日
    浏览(13)
  • JAVA获取视频音频时长 文件大小 MultipartFileUtil和file转换

    java 获取视频时长_java获取视频时长_似夜晓星辰的博客-CSDN博客 可以转换文档也可转换视频

    2024年02月14日
    浏览(20)
  • 认识File 类和InputStream, OutputStream

    认识File 类和InputStream, OutputStream

            Java中通过file类来 对一个文件(包括目录)进行抽象的描述。 并且有File类对象,并不代表真实存在该文件 。认识File类,就先了解File类的属性,构造方法,方法。 属性: 修饰符及类型         属性                         说明 static String         pathSeparato

    2024年02月07日
    浏览(9)
  • File 类和 InputStream, OutputStream 的用法

    File 类和 InputStream, OutputStream 的用法

    目录 1.文件系统操作  File 类 2.文件内容操作  InputStream  1.创建InputStream类对象  2.读文件 OutputStream 1.创建OutputStream类对象 2.写文件       上篇博客我们详情介绍了文件系统的相关知识。在文件系统操作中,由于文件是在硬盘上的,直接写代码不好操作,所以,我们通过创建

    2024年02月03日
    浏览(12)
  • java中将数组转换成字符串

    java中将数组转换成字符串

    方法1:使用StringBuilder拼接 基本类型和引用类型兼容  输出结果: 方法2:Arrays.toString(); 基本类型和引用类型兼容,返回值为String 输出结果: toString()底层代码实现,可见是用StringBuilder进行拼接的,底层源代码: 方法三:使用 Arrays.stream()流 当 数组类型是基本类型 时需要

    2024年02月07日
    浏览(13)
  • 【好物推荐】如何在VScode中将Markdown文件转换成PDF文件

    【好物推荐】如何在VScode中将Markdown文件转换成PDF文件

    公司的分享要求提交文档,而我的Markdown文件已经编写完成,将其转换为PDF文件可以更方便地提交,因为PDF文件可以更好地保留格式和排版。 如果Markdown文件需要在不同操作系统和设备之间共享和传输,将其转换为PDF文件可以确保文件在不同环境下都能正常打开和查看。 如果

    2024年02月11日
    浏览(15)
  • 在Java中将Double转换为Integer

    首先,初始化一个double值 现在,使用intValue()方法将Double转换为Integer值 以下是在Java中将Double转换为Integer的程序 输出结果

    2024年02月08日
    浏览(14)
  • 如何在 Java 中将 String 转换为 int?

    如何将 String 转换为 int? huntsbot.com – 高效赚钱,自由工作 如果您查看 Java documentation,您会注意到“捕获”是此函数可以抛出一个 NumberFormatException,您可以处理它: (此处理将格式错误的数字默认为 0,但您可以根据需要执行其他操作。) 或者,您可以使用 Guava 库中的

    2024年02月02日
    浏览(17)
  • Java 中将 String 类型转换为 int 类型的方法

    在Java中将 String 类型转换为 int 类型是一个常见的操作,因为在实际开发中,我们经常需要从用户输入或者外部数据源中获取字符串形式的数字,并将其转换为整数进行计算和处理。在Java中,有几种方法可以实现这种转换,下面我将逐一介绍这些方法。 Integer.parseInt() 方法是

    2024年04月22日
    浏览(19)
  • Java中将String类型转换为int类型的方法

    在Java编程中,经常需要将字符串类型(String)转换为整数类型(int)。这在处理用户输入、读取文件或进行数值计算时非常常见。本文将详细介绍如何在Java中进行这种类型转换,并提供相应的源代码示例。 Java提供了几种方法来实现String到int的转换。下面将介绍其中的两种常

    2024年02月05日
    浏览(18)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包