You read the data into the program. Then you write it out again. You've changed the way you read the file several times with no changes. That suggests to me, at least, that the problem is not with the reading half of the program.
It would be easier just to put some code in your program like
Or if you get something else, then
Then that would persuade me whether System.out.print doesn't handle those characters correctly. I know it doesn't on Windows (you get some other character instead) because the DOS code page isn't the same as the file charset, but I'm not familiar with Unix consoles. A console may not be a reliable
testing device.
[Edited to have correct syntax]
[ December 14, 2005: Message edited by: Paul Clapham ]