Well it's not a bug in your code, or Java, because you are writing the bytes exactly as you receive them. But there's a remark above about 'using different type of editor and character encoding'. What does that mean?
In fact, I am using windows notepad and ultraedit to view the output file.
Both of them can display the file content in different encoding.
Besides that, I rename the output file to *.html, and then view in browser with different encoding.
I still don't get this stuff about a different character encoding and I am now asking you for the second time to explain it. You must view the file using the same encoding that the original data was transmitted with, whatever that was. And it is becoming crystal clear that this is not a Java question.