На определенном уровне абстракции почти все хранится, представляется или передается в виде последовательности или потока байтов.
Хорошо, что может быть сохранено / передано как System.IO.Потоковый объект в .NET или аналог в Java?
Любая информация, которая может быть представлена компьютером, может (теоретически) быть преобразована в последовательность байтов и сохранена / передана через байтово-ориентированный поток ввода-вывода.Вам может потребоваться написать некоторое программное обеспечение для преобразования компьютерного представления информации в последовательность байтов, которая подходит для передачи через поток байтов.Однако любое конечное представление может быть преобразовано в байты.
Единственные вещи, которые вы не можете представить и передать в виде потока байтов, - это те, которые имеют только бесконечное представление (например, полное значениеPi, или набор всех простых чисел), и те, которые не имеют цифрового представления (например, красавица или Барак Обама).
Хорошо, что может быть сохранено / передано как Система.IO.Stream объект в .NET или аналог в Java?
Я не знаю о случае .NET, но Java ObjectOutputStream
работает только для классов, которые реализуют интерфейсы Serializable
или Externalizable
.(И в первом случае все другие классы в нетранзитивном замыкании исходного объекта также должны реализовывать Serializable
.)
Некоторые системные классы не Serializable
;например, Thread, Process, различные классы ввода-вывода и большинство классов, связанных с AWT / Swing.Общей темой является то, что все эти классы включают некоторый ресурс, которым управляет операционная система.