MappedByteBuffer 写文件

简介: MappedByteBuffer 写文件

MappedByteBuffer中“put”和“force”的区别是什么

 

put()将数据存储在缓冲区中,force()通知操作系统将缓冲区刷新到磁盘。

put() 后,打开文件,也能看到文件中有数据,这是因为没有绕过操作系统,看到的是操作系统文件缓存里的内容,不是磁盘上的内容

可以断电或通过U盘写入,插拔来验证

@Test
public void MappedByteBufferTest() throws Exception {
    int count = 10;
    RandomAccessFile memoryMappedFile = new RandomAccessFile("D:\\1.txt", "rw");
    MappedByteBuffer out = memoryMappedFile.getChannel().map(FileChannel.MapMode.READ_WRITE, 0, count);
    for (int i = 0; i < count; i++) {
        out.put((byte) i);
    }
    out.force();
    memoryMappedFile.close();
}

 

目录
相关文章
|
8月前
高效的文件拷贝之MappedByteBuffer
高效的文件拷贝之MappedByteBuffer
|
存储
RandomAccessFile实现文件分割、合并
RandomAccessFile实现文件分割、合并
172 0
|
4月前
|
Java
缓冲流和转换流的使用【 File类+IO流知识回顾③】
这篇文章介绍了Java中缓冲流(BufferedInputStream, BufferedOutputStream, BufferedReader, BufferedWriter)和转换流(InputStreamReader, OutputStreamWriter)的使用,包括它们的构造方法和如何利用它们提高IO操作的效率及处理字符编码问题。
缓冲流和转换流的使用【 File类+IO流知识回顾③】
|
5月前
|
Java
IO流操作-------File类、输入流和输出流(二)
这篇文章介绍了Java中IO流操作的基本概念和使用,包括字节流和字符流的读取与写入,以及如何使用缓冲流提高文件读写效率和实现文件复制的方法。
IO流操作-------File类、输入流和输出流(二)
|
5月前
|
Java
MappedByteBuffer
MappedByteBuffer
51 0
|
5月前
RandomAccessFile 读写文件
RandomAccessFile 读写文件
40 0
|
存储 移动开发 Java
IO流以及File类
IO流以及File类
|
存储 Java 调度
文件:IO流
文件:IO流
115 0
文件:IO流
|
网络协议 Java
FileChannel 文件流的简单使用
FileChannel 文件流的简单使用
182 0
|
网络协议 测试技术 Go
带缓冲的 Reader 读文件 | 学习笔记
快速学习带缓冲的 Reader 读文件
带缓冲的 Reader 读文件 | 学习笔记