【问题标题】:FileReader is already defined in this compilation unit error JavaFileReader 已在此编译单元错误 Java 中定义
【发布时间】:2016-05-10 14:45:06
【问题描述】:

所以我正在努力读入一个“.txt”文件以使用它来实现 Dijkstra 的算法,但每次我尝试编译它时都会给我一个“FileReader is already defined in this compiler unit”错误,同时突出显示位置我一开始就导入了。但是,如果我把它拿出来,当我试图在文件中读取它的类型错误时,它会引发构造函数错误。我在这里错过了什么??

这是我的代码:

import java.io.BufferedReader;
import java.io.File;
//import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

public class FileReader
{
    public ArrayList main1()
    {
        System.out.println("got here");
        try
        {
            BufferedReader in = new BufferedReader(new FileReader(new File("input1.txt")));

如果需要,我可以提供更多,但这是所有错误出现的地方。

【问题讨论】:

  • 嗯,是的,您声明了一个名为FileReader 的类,并导入了一个名为FileReader 的类型。我强烈建议您更改班级名称。
  • 你的主类被命名为FileReader。重命名它。
  • 尝试将主类重命名为其他名称public class FileReader,也许是public class Test
  • 好的,是的。那是我的愚蠢。谢谢!

标签: java dijkstra


【解决方案1】:

您的类与 java.io 包中的 FileReader 名称相同(您已在上面注释掉)。将您的类重命名为 TextFileReader 或 InputFileReader 等其他名称,或使用 java.io.FileReader 的完全限定类名。

【讨论】:

    【解决方案2】:

    只需将您的类“FileReader”重命名为不同的毒性,以免混淆。

    【讨论】:

      猜你喜欢
      • 2015-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多