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();
}

 

目录
相关文章
|
6月前
高效的文件拷贝之MappedByteBuffer
高效的文件拷贝之MappedByteBuffer
|
2月前
|
Java
缓冲流和转换流的使用【 File类+IO流知识回顾③】
这篇文章介绍了Java中缓冲流(BufferedInputStream, BufferedOutputStream, BufferedReader, BufferedWriter)和转换流(InputStreamReader, OutputStreamWriter)的使用,包括它们的构造方法和如何利用它们提高IO操作的效率及处理字符编码问题。
缓冲流和转换流的使用【 File类+IO流知识回顾③】
|
3月前
|
Java
MappedByteBuffer
MappedByteBuffer
43 0
|
3月前
RandomAccessFile 读写文件
RandomAccessFile 读写文件
32 0
|
12月前
|
Java
File操作-InputStream/OutputStream及是否创建文件
File操作-InputStream/OutputStream及是否创建文件
79 0
|
12月前
File操作 - RandomAccessFile使用详解
File操作 - RandomAccessFile使用详解
84 0
|
Java
Java IO流之访问文件的字节输入流FileInputStream和字节输入流FileOutputStream的详解
Java IO流之访问文件的字节输入流FileInputStream和字节输入流FileOutputStream的详解
98 0
|
存储 Java 调度
文件:IO流
文件:IO流
104 0
文件:IO流
|
网络协议 Java
FileChannel 文件流的简单使用
FileChannel 文件流的简单使用
174 0
|
网络协议 测试技术 Go
带缓冲的 Reader 读文件 | 学习笔记
快速学习带缓冲的 Reader 读文件
带缓冲的 Reader 读文件 | 学习笔记