2

第一次在这里发帖。

我正在编写一个 Java 程序,该程序接受一个输入文本文件,读取内容,然后将它们打印到屏幕上,并创建一个包含内容的输出文件。我已经设置了必要的作家,但是当我尝试使用BufferedReader readername = new BufferedReader(new FileReader(inFile));它时,标题中出现了错误。

任何想法是什么原因造成的?

这是代码。

public class FileReader 
{
    public static void main(String[] args) throws IOException
    {
        try
        {
        File inFile = new File("inputText.txt");
        BufferedReader reader = new BufferedReader(new FileReader(inFile));
        String line = null;
        BufferedWriter writer = new BufferedWriter(new FileWriter("Contents.txt"));

        while ((line=reader.readLine()) != null)
                    {
                        writer.write(line);
                        System.out.println("File 'Contents.txt' successfully written");
                        System.out.println(line);
                    }
        }
        catch (IOException e)
        {
            System.out.println(e);
        }
    }
}
4

2 回答 2

6

使用完全限定的类名,因为在调用 a 时java.io.FileReader已经调用了一个类,如下所示:FileReaderBufferedReader

BufferedReader reader = new BufferedReader(new java.io.FileReader(inFile));

如果不完全限定您的FileReader(或指定导入),编译器将使用您声明的FileReader.

于 2012-04-25T16:17:25.073 回答
0

这里的问题是你的类名是FileReader你想要使用的,java.io.FileReader因此编译器很困惑,而不是java.io.FileReader假设它是你的类。基本上,您的 ClassName 会隐藏 java.io 包中的名称。

将您的课程重命名为其他MyFileReader名称或使用完全限定的命名java.io.FileReader

于 2012-04-25T16:19:39.733 回答