Как указали @Joachim Sauer и @bmargulies, без более подробной информации мы не можем точно сказать вам, в чем проблема.
Но чтобы дать вам что-то для сравнения вашего кода, следующее будет читать файл, представленный в качестве аргумента, а затем читать его символ за символом (т. Е. Он поддерживает символы Юникода), печатая этот символ по ходу дела. Если это не достигнет вашей цели, неплохо было бы использовать конкретный (маленький) пример ввода, который вам не удался.
import java.io.*;
class printout {
public static void main (String[] args) {
if (args.length < 1) {
System.err.println ("Usage: printout <filename>");
System.exit (1);
}
File sourceFile = new File (args[0]);
FileReader fr = null;
try {
fr = new FileReader (sourceFile);
int inChar;
while ( (inChar = fr.read()) != -1 ) {
System.out.printf ("%c", inChar);
}
} catch (IOException e) {
System.err.printf ("Failure while reading %s: %s\n",
args[0], e.getMessage());
e.printStackTrace ();
} finally {
try {
if (fr != null) { fr.close (); }
} catch (IOException e) {
System.err.printf ("Error closing file reader: %s\n",
e.getMessage());
e.printStackTrace ();
}
}
}
}