Вероятно, проблема заключается в том, что приложение C # кодирует свои символьные данные в одной кодировке, в то время как приложение Java декодирует данные как другую.Предполагая, что Windows, это, возможно, несовпадение ANSI / OEM.
Вам необходимо определить кодировку, которую излучает приложение C #.В приложении Java прочитайте каждый байт и проверьте его шестнадцатеричное значение.Проверьте, являются ли байты Windows-1254 , OEM-857 или что-либо еще, а затем декодируйте их соответствующим образом, используя ридер с соответствующей кодировкой .