如何在内存中创build新的java.io.File?

如何在内存中创build新的File (来自java.io) – 而不是在硬盘上?

我正在使用Java语言。 我不想将文件保存在硬盘上。

要在内存中写入stream,请使用:

 new ByteArrayOutputStream(); 

如何在内存中创build新的文件(来自java.io),而不是在硬盘上?

也许你很迷惑FileStream

  • File是文件和目录path名的抽象表示。 使用File对象,您可以访问文件系统中的文件元数据,并对该文件系统上的文件执行一些操作,如删除或创build文件。 但File类不提供读取和写入文件内容的方法。
  • 要从文件读取和写入,您正在使用Stream对象,如FileInputStreamFileOutputStream 。 这些stream可以从File对象创build,然后用于读取和写入文件。

您可以通过使用ByteArrayInputStreamByteArrayOutputStream来读取和写入字节缓冲区 ,类似于您从文件中读取和写入的方式, 基于驻留在内存中的字节缓冲区创buildstreambyte数组包含“文件”的内容。 那么你不需要一个File对象。

File...ByteArray...stream分别inheritance自java.io.OutputStreamjava.io.InputStream ,这样您就可以使用公共超类来隐藏您是从文件读取还是从字节读取arrays。

你可以使用java.io.StringWriter。