Я пытаюсь прочитать файл из «read.txt», и при чтении файла мы всегда проверяем -1 (строка: while (readfile! = - 1).

Почему мы всегда проверяем конечный файл, сравнивая его с «-1» . Есть ли какая-то конкретная причина?

(int readfile = filereadrer.read ();) всегда возвращает значение unicode этим аргументом действительно ли -1 означает значение unicode конца файла, если это так, как мы узнали, что значение unicode конца файла равно "-1 "

public class FilesPractise {

   public static void main(String[] args) throws IOException {
    // TODO Auto-generated method stub

     File file = new File("read.txt");

     file.createNewFile();

     FileReader filereadrer = new FileReader(file);

     int readfile = filereadrer.read();

       while(readfile!=-1){
            System.out.println((char)readfile);

             readfile = filereadrer.read();
    }



}

}
-5
sainath pawar 31 Дек 2017 в 11:14

2 ответа

Лучший ответ

Почему мы всегда проверяем конечный файл, сравнивая его со значением «-1». Есть ли конкретная причина?

Потому что, если вы этого не сделаете, вы никогда не обнаружите конец потока, и вы будете бесконечно зацикливаться.

(int readfile = filereadrer.read();) всегда возвращает значение юникода

Нет, это не так. Он возвращает -1 или значение Unicode. См. Javadoc.

этим аргументом

Это не аргумент. Это ложное предположение.

делает -1 означает значение Unicode конца файла

Не существует таких вещей, как (а) значение Юникода, равное -1, или (б) значение Юникода для конца файла.

если это

Это не так.

тогда как мы узнали, что значение Unicode конца файла равно "-1"

Это не -1 или "-1". Это контрольное значение, возвращаемое API вместо значения Unicode.

1
Marquis of Lorne 31 Дек 2017 в 09:03

Об этом можно узнать из документации по методам. Например, метод, который вы пытаетесь узнать, - read, от FileReader.

Вот документация по методу read: https://docs.oracle.com/javase/8/docs/api/java/io/InputStreamReader.html#read--

На странице в разделе «Возврат»

Прочитанный символ или -1, если достигнут конец потока

Видеть? Вот как вы узнаете эти вещи.

3
Sweeper 31 Дек 2017 в 08:21