Java 什么是二进制存储和加载?
它是什么?我们什么时候使用它?我必须做作业(创建银行系统),但我不知道这是为了哪一部分?二进制保存和加载是保存文件的一种方式。另一种方法是文本保存和加载。文本保存是您可能熟悉的-您保存的文件由字母和数字(普通文本)组成。二进制保存和加载存储的数据不像字母和数字那样是人类可读的,但它更像是数字等数据的“本机”表示(即,它可能存储00000111,这是数字7的二进制表示,而不是为数字7保存“7”)Java 什么是二进制存储和加载?,java,Java,它是什么?我们什么时候使用它?我必须做作业(创建银行系统),但我不知道这是为了哪一部分?二进制保存和加载是保存文件的一种方式。另一种方法是文本保存和加载。文本保存是您可能熟悉的-您保存的文件由字母和数字(普通文本)组成。二进制保存和加载存储的数据不像字母和数字那样是人类可读的,但它更像是数字等数据的“本机”表示(即,它可能存储00000111,这是数字7的二进制表示,而不是为数字7保存“7”) 对于您的银行系统作业,您可能希望使用二进制存储和加载来存储某人有多少钱。您需要更具体一点,但通常这意味
对于您的银行系统作业,您可能希望使用二进制存储和加载来存储某人有多少钱。您需要更具体一点,但通常这意味着读取和写入二进制文件中的值。根据你的家庭作业问题,文件的实际格式可能会被定义,或者你可能需要自己决定格式。这通常意味着特定类型的特定顺序。例如,文件格式可能是:
- 整数,此文件中的帐户数
- 一个整数,第一个帐户的帐号
- A长,账户中的金额(美分)
- 整数,帐户持有人姓名中的字符数
- 代表帐户持有人姓名的几个字符
- 重复,从第二个帐户的帐号开始
- 等
"John Doe" 123-45678-34567 1234-5678-1234-5678 12,456.78 1,234.56\n
所有数据都是数据库文件中的文本行(“\n”是换行符)。人类很容易理解,甚至可以毫不费力地修改。但是对于您的程序,您需要解析每一行来理解它(例如:加载储蓄帐户中有多少钱),然后执行您需要的任何操作(例如:更新储蓄总额),转换回文本格式并再次保存。现在想象一下,如果你有数千个帐户和数百万的日常操作。很明显,您需要花费大量时间将文本解析为二进制(以便计算机能够实际执行某些操作),然后再转换回文本并保存到磁盘。在这个文件中导航(搜索“John Doe”的帐户)也很耗时
对于二进制文件,您需要类似的结构感,但还需要计划更多。并非所有的客户都有相同的名称长度或相同的金额,因此您必须设置一些合理的限制——毕竟,您不想浪费空间为名称保留许多字符(例如256个),其中32个字符通常就足够了。您还需要对数值字段的范围有一个概念
为了简单起见,让我们假设64位整数(Java的长基元类型)足以满足所有数字需求(有关范围的更多信息,请参阅)。在这种情况下,在家庭作业银行中存储帐户的每个记录都有5个字段: