问题描述
我正在考虑通过 JavaFX 应用程序模拟 VGA Text Buffer。我想过通过 MappedByteBuffer 和 C 应用程序中的 mmap
从 Java“屏幕”应用程序内存映射文件。
我的目标是能够只写入 C 应用程序中的映射内存位置,并且 JavaFX“屏幕”应该在写入内容时更新:或多或少与内存映射 IO 相同。
我想知道如何在 Java 端检查文件中的更改。 MappedByteBuffer 只有读取值的方法,但没有等待更改的阻塞方法。即便如此,我也不确定文件的哪一部分会被更改(我猜对于小缓冲区,读取整个缓冲区没有问题,但对于较大的文件,它可能效率低下)。
有没有办法做到这一点?这在 Linux 上是否可行(我也可能会编写一些 JNI 代码,尽管我不想这样做)?
还是我必须定期读取整个字节缓冲区并更新我的“屏幕”?
谢谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)