我想将我的“人物”对象的属性转换为可以将行写入代表每个人的文件的表示形式。许多机器需要同时读取它们分配的文件块,因此我正在从字符编码文本行移动到字节列表。我希望每个人的表现都是相同的长度我不必阅读每一个角色,阅读应用可以跳到需要开始阅读的地方。以相同长度表示的对象属性以加快阅读速度
这是我到目前为止写的,取对象的属性,并把它们放在一个形式,其中长度将始终是相同的。我可以这样做吗?我修改这段代码的时候,我做了相同的事情,但是创建了字符串表示并连接了这些字符串。
我也不能肯定,如果我的转换布尔值的方法是必要的/正确的。
byte[] person = new byte[8];
person[0] = Integer.byteValue(age);
if (gender.equals('m')) {person[1] = Integer.byteValue(1);}
else {person[1] = Integer.byteValue(0);}
person[2] = Integer.byteValue(children);
person[3] = Integer.byteValue(goodHealth? 1:0);
person[4] = Integer.byteValue(cars);
person[5] = Integer.byteValue(avgWeekShopping);
person[6] = Integer.byteValue(salary);
person[7] = Integer.byteValue(smoker? 1:0);
希望能够理解我想要实现的。干杯。
是否有任何理由,他们都必须在同一个文件?或者就此而言,为什么不把它放在数据库中呢? – corsiKa 2011-04-25 21:22:47
我将最终使用分布式存储方法,但是我首先需要假设我在单个机器上停留了一个非常大的文件。欢呼 – bashcrufter 2011-04-25 21:26:51
看到数据尚未写入(因为你在这篇文章中正在弄清楚如何这样做)为什么你不能使用数据库?它已经解决了这些问题。任何体面的数据库(mysql,hell甚至derby)都可以处理这个问题。 – corsiKa 2011-04-25 21:28:47