Я новичок в Java. Я изучаю fileIO. Я писал небольшую программу для отображения содержимого в txt-файле. Мой код выглядит следующим образом:java read file ---- Почему мой код работает
import java.io.*;
public class Readf {
public static void main(String arg[]) throws IOException {
FileInputStream in = null ;
try {
in = new FileInputStream("input.txt");
int c;
String cs="";
while ((c=in.read())!=-1) {
cs = cs + (char)c;
if ((char)c=='\n') {
System.out.println(cs);
cs="";
}
}
} finally {
if (in != null) {
in.close();
}
}
}
}
Я читал онлайн-учебник. Он сказал мне прочитать файл с переменной int. Поскольку я хотел отображать содержимое в char, я бросаю их в тип char и сохраняю его в укусе, и он РАБОТАЕТ !!!! В Java переменная int 32-битная, но переменная char - 16 бит. Я бросал их в 16-битный символ каждый раз, когда читал 32-битный int. Почему результат не был хаосом?
Если вы хотите хаос, используйте символы вне BMP в своем входном файле, например: – ninjalj
На самом деле, все, что не является ASCII, было бы хорошим примером для сравнения. Попробуйте файл, который имеет что-то вроде 'é' или' ç'. Или что-то на арабском, китайском и т. Д., Например 猫 – RealSkeptic