znajduje się plik o nazwie "dd.txt" na moim dysku, to zawartość jest \u5730\u7406
Jaka jest różnica między ciągiem znaków w kodzie źródłowym a ciągiem odczytanym z pliku?
teraz, kiedy uruchomić ten program
public static void main(String[] args) throws IOException {
FileInputStream fis=new FileInputStream("d:\\dd.txt");
ByteArrayOutputStream baos=new ByteArrayOutputStream();
byte[] buffer=new byte[fis.available()];
while ((fis.read(buffer))!=-1) {
baos.write(buffer);
}
String s1="\u5730\u7406";
String s2=baos.toString("utf-8");
System.out.println("s1:"+s1+"\n"+"s2:"+s2);
}
i mam inny wynik
s1:地理
s2:\u5730\u7406
czy możesz mi powiedzieć, dlaczego? i jak mogę przeczytać ten plik i uzyskać taki sam wynik jak s1 w języku chińskim?
Ponieważ _kompilator_ zastępuje przed skompilowaniem czegokolwiek. –
Notatka boczna: fis.available() informuje, ile bajtów można odczytać bez blokowania. Nie informuje o długości wejścia (pliku). – haraldK
dziękuję wszystkim .. –