60、Java文件、流与对象序列化全解析

Java文件、流与对象序列化全解析

1. 引言

在编程中,变量和数组里存储的数据往往是临时的。当局部变量超出作用域,或者程序终止时,这些数据就会丢失。为了实现数据的长期保存,即便创建数据的程序结束运行,计算机采用了文件这种存储方式。我们在日常使用电脑时,像撰写文档、创建电子表格等操作都会用到文件。计算机将文件存储在诸如硬盘、闪存驱动器、DVD 等二级存储设备上。文件中保存的数据属于持久数据,它在程序执行结束后依然存在。接下来,我们将深入探讨 Java 程序如何创建、更新和处理文件。

2. 文件与流

Java 把每个文件都视为一个连续的字节流。不同的操作系统都有各自判断文件结尾的机制,例如文件结束标记,或者在系统维护的管理数据结构中记录文件的总字节数。Java 程序在处理字节流时,只需从操作系统获取流结束的指示,而无需了解底层平台是如何表示文件或流的。在某些情况下,文件结束的指示以异常的形式出现;而在另一些情况下,则是通过调用流处理对象的方法返回特定值来表示。

2.1 基于字节和基于字符的流

文件流可用于以字节或字符的形式输入和输出数据:
- 基于字节的流 :以二进制格式输出和输入数据。例如,一个字符(char)占两个字节,一个整数(int)占四个字节,一个双精度浮点数(double)占八个字节等。
- 基于字符的流 :以字符序列的形式输出和输入数据,每个字符占两个字节。给定值的字节数取决于该值包含的字符数量。比如,值 2000000000 需要 20 个字节(10 个字符,每个字符两个字节),而值 7 仅需两个字节(1 个字符,每个字符两个字节)。 </

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值