当前位置: 首页 > 面试题库 >

是否可以从InputStream创建File对象

庾君博
2023-03-14
问题内容

有什么方法可以从中创建java.io.File对象java.io.InputStream吗?

我的要求是从RAR读取文件。我不是要写一个临时文件,而是要在RAR存档中找到一个文件。


问题答案:

您需要创建新文件并将内容复制InputStream到该文件:

File file = //...
try(OutputStream outputStream = new FileOutputStream(file)){
    IOUtils.copy(inputStream, outputStream);
} catch (FileNotFoundException e) {
    // handle exception here
} catch (IOException e) {
    // handle exception here
}

我使用方便IOUtils.copy()来避免手动复制流。它还具有内置缓冲。



 类似资料:
  • 问题内容: 具体来说,问题是编写这样的方法: 如果数据在“超时”毫秒内可用,则返回值与in.read()相同,否则为-2。在方法返回之前,所有产生的线程必须退出。 为避免自变量,此处的主题为java.io.InputStream,如Sun(任何Java版本)所记录。请注意,这并不像看起来那么简单。以下是Sun的文档直接支持的一些事实。 in.read()方法可能是不可中断的。 将InputStre

  • 问题内容: 我想创建图像的base64内联编码数据,以便使用画布显示在表中。Python动态生成和创建网页。目前,python使用Image模块创建缩略图。创建所有缩略图后,Python然后生成每个缩略图的base64数据,并将b64数据放入用户网页的隐藏范围内。然后,用户单击每个缩略图相对于其兴趣的复选标记。然后,他们通过单击生成pdf按钮创建一个包含所选图像的pdf文件。使用jsPDF的Jav

  • 我的AWS ECR中有一个Docker映像,我想将其转换为AWS AMI,以便在环境中创建实例。 尝试在Docker容器上使用AMI的原因 我必须在m4中的Docker容器中运行计算密集型ML任务。xlarge在一些文本文件上的实例。然而,使用Docker时,实例的CPU利用率达到了100%,脚本也在提前终止。 但是,它在Docker外部的同一实例中运行良好。 因此,我想从Docker转移到AMI

  • null null 我看到BufferedWriter constuctor需要一个作家,所以我假设没有,但我不禁想知道你是否可以减少一些步骤。

  • 编辑:getResourceAsStream()与FileInputStream 这是我找到的最好的解释。就我个人而言,在尝试了InputStream的所有不同子类后,我觉得FileInputstream()返回的InputStream和getResourceAsStream()返回的InputStream的实现在某些方面略有不同(导致与javax.xml.parsers.不兼容)。 我会把这个打

  • 问题内容: 我正在尝试扩展库以进行集成,并通过将config设置为自动(可移植)来实现,这意味着以编程方式添加元素。(我知道可以通过Hibernate 或EclipseLInk来实现,但是- 可移植性)。我也想避免仅用于此单一目的。 我可以动态创建一个,并用指定包中的元素填充它(通过Reflections库)。当我尝试将其提供给提供程序时,问题就开始了。我能想到的唯一方法是设置一个,但我想不出什么