Ошибка Java FileReader - PullRequest
       30

Ошибка Java FileReader

4 голосов
/ 22 сентября 2010

Привет, я новичок в Java. Lauguage.

Кажется, мой компьютер вообще не распознает FileReader. (Случайный класс тоже не работает.) Я набрал точно такой же код на другом компьютере.и это сработало.Я удалил JDK и переустановил его, но все равно не работает.Я не знаю, что делать.

Моя среда

Нетбук Samsung N150 plus./// Windows 7 Starter /// Java (стандартная версия 1.6_21) /// jGrasp (1.8).

Вот мой код.

import java.io.*;
import java.util.*;

public class FileReaderGG
{
    public static void main(String[] args)throws Exception
    {
        FileReader infile = new FileReader("todolist.txt");

        Scanner indata = new Scanner(infile);

        while (indata.hasNextLine())
        {
            System.out.println(indata.nextLine());
        }
        infile.close();
    }
}

Это дает мне ошибки, говоря "не могу найти символ"

Похоже на это FileReaderGG.java:11: не могу найти символ символа:конструктор FileReader (java.lang.String) расположение: класс FileReader FileReader infile = new FileReader ("todolist.txt");

Есть еще 5 ошибок.Я провел целый день, пытаясь понять, в чем проблема.Пожалуйста, помогите мне.

Ответы [ 3 ]

1 голос
/ 22 сентября 2010

Это означает, что вы пытаетесь использовать конструктор, которого там нет.Очевидно, вы пытаетесь ввести String в конструктор, но нет конструктора, который бы принимал просто String значение, но это не так для java.io.FileReader.Есть ли другой класс в том же пакете (папке) с именем "FileReader"?Если это так, строка 8 должна быть

java.io.FileReader infile = new java.io.FileReader("todolist.txt");

.Другие решения включают

public class FileReaderGG
{
  public static void main(String[] args) throws Exception
  {
    String pathName = System.getProperty("user.dir") + (FileReaderGG.class.getPackage() == null ? "" : "\\" + FileReaderGG.class.getPackage().getName().replace('.', '\\'));

    java.io.FileReader infile = new java.io.FileReader(pathName + "\\todolist.txt");

    java.util.Scanner indata = new java.util.Scanner(infile);

    while (indata.hasNextLine())
    {
      System.out.println(indata.nextLine());
    }
    infile.close();
  }
}

Обратите внимание, что импорт не производится, и все пакеты явно объявлены.Это должно работать несмотря ни на что.Как вы знаете, строка 5 получает (A) путь, по которому запускается программа (возможно, совпадает с файлом ресурсов), и (B) проверяет, находится ли она в пакете, и добавляет необходимые подпапки (хотякажется, что вы ни в чем не находитесь, так что, вероятно, это не нужно)

0 голосов
/ 27 августа 2013

Я думаю, вы должны импортировать больше, вот что я имею в виду:

import java.util.Scanner;
import java.util.Scanner.*;
import java.io.FileReader;
import java.io.FileReader.*;

Вы знаете, что когда вы

import java.util.Scanner;

Импортирует только пакет «Сканер», но не другие пакеты в пакете Сканер.

0 голосов
/ 22 сентября 2010

Я думаю, что ваш код на 100% прав.Это работает с моей стороны, по крайней мере.Вы компилируете эту программу из IDE или из командной строки?

...