如何在内存中创build新的java.io.File?
如何在内存中创build新的File
(来自java.io) – 而不是在硬盘上?
我正在使用Java语言。 我不想将文件保存在硬盘上。
要在内存中写入stream,请使用:
new ByteArrayOutputStream();
如何在内存中创build新的文件(来自java.io),而不是在硬盘上?
也许你很迷惑File
和Stream
:
-
File
是文件和目录path名的抽象表示。 使用File
对象,您可以访问文件系统中的文件元数据,并对该文件系统上的文件执行一些操作,如删除或创build文件。 但File
类不提供读取和写入文件内容的方法。 - 要从文件读取和写入,您正在使用
Stream
对象,如FileInputStream
或FileOutputStream
。 这些stream可以从File
对象创build,然后用于读取和写入文件。
您可以通过使用ByteArrayInputStream
和ByteArrayOutputStream
来读取和写入字节缓冲区 ,类似于您从文件中读取和写入的方式, 基于驻留在内存中的字节缓冲区创buildstream 。 byte
数组包含“文件”的内容。 那么你不需要一个File
对象。
File...
和ByteArray...
stream分别inheritance自java.io.OutputStream
和java.io.InputStream
,这样您就可以使用公共超类来隐藏您是从文件读取还是从字节读取arrays。
你可以使用java.io.StringWriter。