Ste*_*n C 5

在某种抽象级别,几乎所有东西都作为一个序列或字节流存储,表示或传输.

那么,什么可以作为.NET中的System.IO.Stream对象或Java中的对应物存储/传输?

任何可由计算机表示的信息(理论上)都可以转换为字节序列,并通过面向字节的I/O流进行存储/传输.您可能需要编写一些软件来将信息的计算机表示转换为适合通过字节流传输的字节序列.但是,任何有限表示都可以转换为字节.

唯一不能表示和传输为字节流的东西是那些只有无限表示的东西(例如Pi的完整值,或所有素数的集合),以及那些没有数字表示的东西(例如beauty或Barack)奥巴马).


那么,什么可以作为.NET中的System.IO.Stream对象或Java中的对应物存储/传输?

我不知道.NET的情况,但Java ObjectOutputStream只适用于实现SerializableExternalizable接口的类.(在前一种情况下,原始对象的非瞬态闭包中的所有其他类也必须实现Serializable.)

有些系统类不是Serializable; 例如,Thread,Process,各种IO类和大多数AWT/Swing相关的类.共同的主题是这些类都涉及由操作系统管理的某种资源.