Буферизатор и файловый редактор не работают в

#java #file-io #io #bufferedreader #filereader

Вопрос:

Я просто пытаюсь прочитать текст из существующего file.txt Но эта программа показывает 2 ошибки
для программы чтения файлов(файла)) в ней говорится : Ожидалось 0 аргументов, но найдено 1
и для reader.readLine() это говорит : Не удается разрешить метод «readLine» в «BufferedReader»

 import java.io.File;
import java.io.FileReader;
import java.io.IOException;

public class BufferedReader {

public static void main(String[] args) {


    File file = new File("fileExample.txt");
    BufferedReader reader = null;
    try {
       reader = new BufferedReader(new FileReader(file));
    } catch (IOException e) {
        e.printStackTrace();
    }
    String line;
    while ((line = reader.readLine()) != null) {
        System.out.println(line);
    }
  }
}
 

Комментарии:

1. Вы назвали свой собственный класс BufferedReader , который противоречит стандартному классу java.io.BufferedReader . Переименуйте свой собственный класс, чтобы избежать путаницы и ошибок.

2. Обратите внимание, что этот код имеет прискорбную обработку исключений (просто сделайте свой основной throws Exception и избавьтесь от всех блоков try/catch — лучший код и более короткий код, winwin!), Следует использовать try-с-ресурсами, никогда не следует использовать FileReader (сломанные кодировки). К сожалению, ни одна строка в нем не является правильной java. что нужно искать в Интернете для учебных пособий: API java.nio.file , конструкция try-with-resources (также известная как ARM), наборы символов.

3. Большое вам спасибо, это очень помогло и решило проблему.

Ответ №1:

Переименуйте свой класс во что-то другое BufferedReader и импортируйте нужный класс из JDK:

 import java.io.BufferedReader;
 

В противном случае компилятор будет искать конструктор вашего собственного класса.

Примечание об обработке исключений: учитывая имеющийся у вас код, если при создании BufferedReader возникает исключение IOException, то последующий код вызовет исключение NullPointerException. Может быть, лучше просто обернуть весь код в блок «попытка с ресурсами» или использовать основной метод throws IOException .