java怎么将生成的文件放入内存?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java怎么将生成的文件放入内存?相关的知识,希望对你有一定的参考价值。

我用java生成了3个csv文件,然后将它们压缩为一个zip文件,最后将它下载到本地。现在的问题是csv文件和zip文件都是在服务器上生成,完了之后还要删除,能不能直接在在内存中生成、调用?

这个要使用到内存流。BufferedOutputStream或者BufferedWriter。
文件的读取和写入都应该会了吧?普通的流读写都是直接从文件中读取或者写入到文件中的,而内存流则是把文件中的内容写入到电脑内存或者是从内存中读取出来。具体的话就是把输出流替换成BufferedOutputStream或者BufferedWriter即可
参考技术A 放内存里,其实就是把读取的信息放在静态变量里随时读取这个变量就行了,只要程序在运行就一直放在内存里。
方法很多,比如定义一个全局变量,把文件信息读取进来,然后调用的时候判断这个变量是否为空,为空则加载一次文件,以后都不用加载这个文件了。
参考技术B 文件内容也存在内存中?
直接把文件内容作为二进制数组存在内存中即可。不过你想好了,很占内存的。
参考技术C 在内存生成是没有问题的
关键在于下载
你需要在处理下载的那地方,直接生成文件流,压缩,然后发给客户端,不用生成文件

以上是关于java怎么将生成的文件放入内存?的主要内容,如果未能解决你的问题,请参考以下文章

python 中的数据库与平面文件(需要速度但无法放入内存)与生成器一起用于 NN 训练

jmeter用第三方jar生成参数怎么被引用

如何将 grep 生成的每个文件放入 zip 文件中

java,随机生成20随机整数

java如何创建pdf文件,并将数据库数据写入pdf

java如何讲文件转化成流再单向生成