我已经分配了在“高级”Java课程中创建NIO持久性阵列的任务。这个问题不是那么多,'如何'要做到这一点,但'什么'暗示了“NIO持久”。对我来说这是一个新概念;到目前为止我明白,基本上这只是意味着不是将代码中的信息动态存储在典型数组中,而是将数组的信息以字节的形式存储在磁盘上,并以预定义的大小块存储。我感到困惑的是你如何从你试图存储的信息中获得字节,然后如何通过Java的NIO将这些字节写入文件?NIO持久性阵列:Java
TL; DR - 有人可以解释一个Java NIO持久性阵列简而言之?我应该如何着手从头开始构建一个?
感谢您提前发表任何评论!
编辑:这里是委派描述,一个字一个字:
目的
熟悉Java的NIO API。
要求
使用Java的NIO创建一个PersistentArray类。该类应该 支持以下方法:
静态无效创建(字符串文件名,INT缓冲区大小) - 创建一个空的 持久阵列
静态无效删除(字符串文件名) - 删除持久阵列
PersistentArray open(String fileName) - 打开与 持久数组关联的文件,并为gets和 puts准备持久数组。 (int bufferID,Buffer buffer) - 将缓冲区存储在 bufferID的位置(请注意缓冲区大小必须与创建数组时使用的大小 相同)。
Buffer get(int bufferID) - 给定缓冲区ID,检索缓冲区 ,该缓冲区先前存储在与bufferID相关联的位置。
int getNextID() - 返回一个超过存储缓冲区时使用的最大ID的最大值 。
空隙接近() - 关闭与持久性阵列
而且相关联的文件,创建示出所有的方法表现为预期JUnit测试。
与老师复习您的工作。
感谢您的洞察力,我会读一下NIO:] –
开始代码我会说,你会了解更多。代码*是*设计。 – zengr