#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. что нужно искать в Интернете для учебных пособий: APIjava.nio.file
, конструкция try-with-resources (также известная как ARM), наборы символов.3. Большое вам спасибо, это очень помогло и решило проблему.
Ответ №1:
Переименуйте свой класс во что-то другое BufferedReader
и импортируйте нужный класс из JDK:
import java.io.BufferedReader;
В противном случае компилятор будет искать конструктор вашего собственного класса.
Примечание об обработке исключений: учитывая имеющийся у вас код, если при создании BufferedReader возникает исключение IOException, то последующий код вызовет исключение NullPointerException. Может быть, лучше просто обернуть весь код в блок «попытка с ресурсами» или использовать основной метод throws IOException
.