Используя C# для сериализации Java deserializable объект

Если каждое слово «санскрит» всегда имеет специальный символ, например «ù», то вы можете проверить соответствие регулярному выражению слова (\w+).

Поскольку это не относится к таким словам, как «прийас», вам придется проверять каждое слово в хранилище данных, которое содержит все английские слова. К сожалению, вы не можете проверить правильность английского слова любым другим способом.

Более быстрый поиск может быть выполнен с использованием три .

5
задан Dan Vogel 4 May 2009 в 21:43
поделиться

4 ответа

Лучший ответ - вариант 3: используйте независимую от языка схему сериализации.

Я использую JavaScript. Thrift - это еще один вариант, я думаю, что буферы протокола больше ориентированы на RPC, но также должны использоваться для сериализации. XML или пользовательский двоичный формат были бы другими вариантами.

Редактировать: Извините, не заметил, что вы не можете вносить изменения в приложение Java. Тем не менее, лучший способ сделать это, вероятно, будет создать свой собственный четко определенный формат, написать приложение Java, которое может читать этот формат, а затем вывести сериализованный объект Java для унаследованного приложения.

7
ответ дан 13 December 2019 в 22:16
поделиться

" IKVM " может быть чем-то, что вы могли бы использовать. Этот продукт позволяет преобразовывать скомпилированный байт-код Java (.jar и т. Д.) В .NET DLL. Он очень прост в использовании и может дать вам необходимое взаимодействие.

Кроме этого, самый простой способ выполнить это без взаимодействия на двоичном уровне - просто использовать простой текстовый формат, такой как CSV или XML.

1
ответ дан 13 December 2019 в 22:16
поделиться

Просто используйте сериализацию XML. Обе платформы имеют хорошую поддержку, и простота облегчит их отладку / поддержку. Напишите небольшую программу на Java, которая просто импортирует XML и записывает двоичный файл.

1
ответ дан 13 December 2019 в 22:16
поделиться

Your best bet would be to write something that uses Java Native interface. Not fun, but it'll work.

You can do this directly using JNI (not fun but doable) or there may be some tools out there that will generate code for you -- take a look at SWIG: http://www.swig.org/

You would call Java from C# to do the persistence for you.

1
ответ дан 13 December 2019 в 22:16
поделиться