gpt4 book ai didi

java - 将对象属性转换为始终相同长度的字符串

转载 作者:行者123 更新时间:2023-12-01 15:52:14 24 4
gpt4 key购买 nike

Possible Duplicate:
Object attributes to same-length representation for faster reading

我想将我的对象写入一个文件,其中每个对象的表示形式具有相同的长度,因此我可以跳转到文件的一部分进行读取,而不必读取整个文件。

这是必要的,因为该文件将被许多虚拟机读取,并且大小将达到 TB。这样做的最佳方法是什么?我尝试将它们放入整数数组中以尝试实现此目的,但似乎这一步是不必要的。我一次将每个对象传递回一个,以便由不同的编写器对象写入。干杯

// Convert Person attributes to integers and put in an array
int[] person = new int[8];
person[0] = age;
if (gender.equals("m")) {person[1] = 1;}
else {person[1] = 0;}
person[2] = children;
person[3] = goodHealth? 1:0;
person[4] = cars;
person[5] = avgWeekShopping;
person[6] = salary;
person[7] = smoker? 1:0;

return person;

最佳答案

如果将值写入字节数组,速度会更快。这可以直接写入任何输出流。您还可以节省一些空间,例如将吸烟者标志编码为单个字节。

所以你需要静态方法,一个接受一个bean并返回一个byte[],另一个接受一个byte[]并创建一个新的 bean 。所有数组的大小相同,您可以轻松计算各个数据集的偏移量,而无需额外的索引文件。

关于java - 将对象属性转换为始终相同长度的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5790485/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com