您认为为什么Java语言选择将文件数据视为流而不是单个对象?

您认为为什么Java语言选择将文件数据视为流而不是单个对象?,java,file,Java,File,您认为为什么Java语言选择将文件数据视为流而不是单个对象?这种方法的好处是什么 考虑将4 GB文件作为对象加载到应用程序中 如果不够好,考虑同时处理50个文件,并考虑需要多少内存。 顺便说一句,有一个高级类用于执行高级操作。答案取决于如何定义“流”和“单个对象” 假设随机访问是两者的区别,答案是流的抽象更一般,不仅支持磁盘文件,还支持套接字、管道和其他通信通道。就是这个想法的来源。标准输入、标准输出和标准误差被视为流: 文件只是一个数据流——一个字节接一个字节,没有Unix强加的固有内部结构。

您认为为什么Java语言选择将文件数据视为流而不是单个对象?这种方法的好处是什么

考虑将4 GB文件作为对象加载到应用程序中

如果不够好,考虑同时处理50个文件,并考虑需要多少内存。


顺便说一句,有一个高级类用于执行高级操作。

答案取决于如何定义“流”和“单个对象”

假设随机访问是两者的区别,答案是流的抽象更一般,不仅支持磁盘文件,还支持套接字、管道和其他通信通道。

就是这个想法的来源。标准输入、标准输出和标准误差被视为流:

文件只是一个数据流——一个字节接一个字节,没有Unix强加的固有内部结构。程序解释如何将该流划分为行、记录或字段

按照惯例,处理文本的Unix程序通常会在找到新行控制字符(八进制代码012)的地方将字节流分成行。这只是一个惯例。它不是由操作系统强加的,不同的程序可以使用不同的方式来表示一行的结束

如果您告诉输入流对象是什么,Java也可以将其“视”为对象

ObjectInputStream objectInput = new ObjectInputStream(new FileInputStream(filepath));
MyObject myobject = (MyObject) objectInput.readObject();
以下是关于输入/输出流的基本教程:

流提供更好的操作。如果需要,您可以使用流将文件数据转换为对象,如果还没有所有数据可用,则可以继续读取流。

您能否解释将文件数据作为单个对象处理意味着什么?定义“作为单个对象”。好处是,文件的处理方式与其他流相同——并非所有数据都可以同时使用。