【发布时间】:2018-06-18 10:44:55
【问题描述】:
我有一个POJO,其中有许多String 字段。我想将此对象的实例(按自然顺序排序)写入RandomAccessFile,然后最终在此文件中搜索我需要的对象。
问题是我不太确定该怎么做——例如,在纯文本文件中,我会用换行符来分隔一个新的对象实例。对于RandomAccessFile,我是否应该使用对象的大小(以字节为单位)来指示文件中的新对象 - 如果我知道我想要第二个对象,我会在文件中查看 2 个对象的字节数?
我遵循将排序的integers 写入文件的教程 - 如果我想找到第二个匹配项,我会在文件中查找 8 个字节。我应该对我的 POJO 应用相同的逻辑 - 还是可以只使用 new line 进行分隔?
编辑*这些是我的对象的字段:
import java.io.FileWriter;
import java.io.IOException;
import java.io.Serializable;
/**
* A RegradeRule is an individual rule found in the Regrade .dat file (one
* line).
*
* @author E Rowlands
*/
public class RegradeRule implements Serializable, Comparable<RegradeRule> {
private String privateData;
private String privateData;
private String privateData;
private String privateData;
private String privateData;
private String privateData;
private String privateData;
private String privateData;
private String privateData;
private String privateData;
private String privateData;
private String privateData;
// getters & setters
}
【问题讨论】:
-
请提供您的 POJO 代码以及到目前为止您尝试过的内容...
-
现在就这样做。对于“到目前为止我尝试过的”,我只有排序整数示例代码——我在概念上一直被困在如何去做这件事上。
-
我已经实现了这个例子:geekrai.blogspot.com/2014/09/…
标签: java randomaccessfile