Почему я не могу просто теоретически записать эти байты в некоторый текстовый файл вместе с некоторыми дополнительными байтами, чтобы указать тип. С этим, я не могу просто прочитать эти байты назад и восстановить мой исходный объект?
Как кто-нибудь мог прочитать их обратно? Скажем, я пишу код, который должен читаться в вашем файле. Скажите, пожалуйста, что означает третий байт, чтобы я мог правильно его декодировать.
Что если внутреннее представление объекта содержит указатели на другие объекты, которые могут находиться в разных местах памяти при следующем запуске программы? Например, довольно часто управлять одинаковыми строками, имея внутренние ссылки на один и тот же объект внутренней строки. Как будет разумно писать эту ссылку на файл, если во время следующего запуска внутренний строковый объект может не существовать?
Чтобы записать данные в файл, вам нужно записать их в каком-то определенном формате, который на самом деле содержит всю информацию, необходимую для считывания. Что происходит с внутренней работой этой программы в настоящее время, только что выиграло ' не делайте, потому что нет гарантии, что другая программа в другое время сможет это понять.