如何在内存中创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。