Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java-temp文件,该文件将只在内存中_Java_Temporary Files - Fatal编程技术网

Java-temp文件,该文件将只在内存中

Java-temp文件,该文件将只在内存中,java,temporary-files,Java,Temporary Files,在Java中如何创建临时文件,那应该只在内存中 我记得有些操作系统对临时文件有特殊的概念,即自动清理,可能根本不需要磁盘I/O。Java有临时文件(不在内存中,自动清理)、内存映射文件(不同),以及您可能认为合适的东西,如ByteBuffer和ByteArrayOutputStream。或者你在操作系统中创建一个由操作系统决定的RAM磁盘,我认为你不能从Java直接控制它,因为这很难在一个正常的跨平台API中公开。不过,您可以创建一个内存缓冲区,并将其包装到您选择的标准io类中,这相当容易。从某

在Java中如何创建临时文件,那应该只在内存中


我记得有些操作系统对临时文件有特殊的概念,即自动清理,可能根本不需要磁盘I/O。

Java有临时文件(不在内存中,自动清理)、内存映射文件(不同),以及您可能认为合适的东西,如ByteBuffer和ByteArrayOutputStream。或者你在操作系统中创建一个由操作系统决定的RAM磁盘,我认为你不能从Java直接控制它,因为这很难在一个正常的跨平台API中公开。不过,您可以创建一个内存缓冲区,并将其包装到您选择的标准io类中,这相当容易。从某种意义上说,您是指一个文件,它可以像任何其他文件一样透明地使用java.io/java.nio处理吗?@pirho精心设计的io相关类不适用于文件。他们在溪流上工作。这样,同一类就可以在ByteArrayInputStream(读取内存中数组中的字节)或FileInputStream(从文件系统中的文件读取字节)上工作,而无需关心,因为两者都实现了InputStream。@jbnite,但我只是认为这对OP来说可能也是显而易见的,我想知道这个问题背后是否还有其他东西,但我可能误解了/过于复杂了这个问题Java有临时文件(不在内存中,自动清理),内存映射文件(不一样),你可能会觉得像ByteBuffer和ByteArrayOutputStream这样的东西是合适的。或者你在操作系统中创建一个由操作系统决定的RAM磁盘,我认为你不能从Java直接控制它,因为这很难在一个正常的跨平台API中公开。不过,您可以创建一个内存缓冲区,并将其包装到您选择的标准io类中,这相当容易。从某种意义上说,您是指一个文件,它可以像任何其他文件一样透明地使用java.io/java.nio处理吗?@pirho精心设计的io相关类不适用于文件。他们在溪流上工作。这样,同一类就可以在ByteArrayInputStream(读取内存中数组中的字节)或FileInputStream(从文件系统中的文件读取字节)上工作,而无需关心,因为两者都实现了InputStream。@jbnite,但我只是认为这对OP来说也是显而易见的,我想知道这个问题背后是否还有其他东西,但我可能误解了这个问题/把它复杂化了