2023-01-20 345
使用NIO,可以在内存中映射现有文件.但是,是否可以仅在硬盘上没有文件的情况下在内存中创建它?
我想模仿CreateFileMapping Windows函数,这些窗口允许您写入内存.
Java中是否有等效系统?
目标是在记忆中写入以使另一个程序(c)读取它.
请查看以下内容.创建一个文件,但这可能与您要获得的近距离.
MappedByteBuffer
MappedByteBuffer.load()
FileChannel
FileChannel.map()
这是一个试图让您入门的片段.
filePipe = new File(tempDirectory, namedPipe.getName() + ".pipe");
try {
int pipeSize = 4096;
randomAccessFile = new RandomAccessFile(filePipe, "rw");
fileChannel = randomAccessFile.getChannel();
mappedByteBuffer = fileChannel.map(FileChannel.MapMode.READ_WRITE, 0, pipeSize);
mappedByteBuffer.load();
} catch (Exception e) {
...
Java中的大多数库都与输入和输出流到 br>
示例:图像阅读, xml ,音频, zip
在可能的情况下,处理I/O时,请使用流.
这可能不是您想要的,如果您需要随机访问数据.
使用内存映射文件时,您会得到 mappedbytebuffer 来自使用 filechannel.map(),如果您不需要文件,只需使用 bytebuffer ,它完全存在于内存中.使用 bytebuffer创建其中之一.分配()或 bytebuffer.allocatedirect().
以上所述是小编给大家介绍的用java在内存中写入文件。nio?,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!
原文链接:https://77isp.com/post/25966.html
=========================================
https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。
数据库技术 2022-03-28
网站技术 2022-11-26
网站技术 2023-01-07
网站技术 2022-11-17
Windows相关 2022-02-23
网站技术 2023-01-14
Windows相关 2022-02-16
Windows相关 2022-02-16
Linux相关 2022-02-27
数据库技术 2022-02-20
抠敌 2023年10月23日
嚼餐 2023年10月23日
男忌 2023年10月22日
瓮仆 2023年10月22日
簿偌 2023年10月22日
扫码二维码
获取最新动态