Как будто вы пытаетесь получить доступ к объекту, который является null
. Рассмотрим ниже пример:
TypeA objA;
. В это время вы только что объявили этот объект, но не инициализировали или не инициализировали. И всякий раз, когда вы пытаетесь получить доступ к каким-либо свойствам или методам в нем, он будет генерировать NullPointerException
, что имеет смысл.
См. Также этот пример:
String a = null;
System.out.println(a.toString()); // NullPointerException will be thrown
Извините я не мог быть большим количеством справки. Я определенно продолжал бы смотреть на xdelta, потому что я использовал его неоднократно для создания качества diffs на 600 МБ + файлы ISO, которые мы генерировали для распределения наших продуктов, и он работает очень хорошо.
Вы видели VCDiff? Это - часть библиотеки Misc, которая, кажется, довольно активна (последний выпуск r259, 23-го апреля 2008). Я не использовал его, но думал, что это стоило упомянуть.
Могло бы стоить проверить то, что некоторые из других парней делают в этом пространстве и не обязательно на арене C# также.
Это - библиотека, записанная в c#
SVN, также имеет двоичный различный алгоритм, и я знаю, что существует реализация в Python, хотя я не мог найти его с быстрым поиском. Они могли бы дать Вам некоторое представление относительно того, где улучшить Ваш собственный алгоритм
Если это для установки или распределения, Вы рассмотрели использование SDK Windows Installer? Это имеет способность исправить двоичные файлы.
http://msdn.microsoft.com/en-us/library/aa370578 (По сравнению с 85) .aspx
Это грубое руководство, но ниже приведен алгоритм rsync, который можно использовать для создания ваших двоичных патчей.