Java 如何在方法参数中调用FileScaner

Java 如何在方法参数中调用FileScaner,java,file,Java,File,我目前正在处理一个项目,我想在methods参数中使用fileScanner。我很抱歉,如果这是一个简单的修复,但我无法让它工作,我在网上搜索和在这里,并没有找到任何东西。这是我的代码,提前谢谢 import java.util.Scanner; public class FileScan { private Scanner fileScan = new Scanner(new File(" ")); public fileLoader(Scanner fileScan

我目前正在处理一个项目,我想在methods参数中使用fileScanner。我很抱歉,如果这是一个简单的修复,但我无法让它工作,我在网上搜索和在这里,并没有找到任何东西。这是我的代码,提前谢谢

import java.util.Scanner;
public class FileScan
{
      private Scanner fileScan = new Scanner(new File(" "));

      public fileLoader(Scanner fileScan)
      {


      }
}
编译时,我无法将括号放在fileLoader的参数中,或者我得到一个错误,告诉我它找不到类“File”。

试试这个

    import java.util.Scanner;

    public class FileScan {

               private Scanner fileScan = new Scanner(new File(" "));

            fileLoader(fileScan);


        }



        public static void fileLoader(Scanner fileScan) {


        }
}

未完成的代码中有更多错误:

Default constructor cannot handle exception type FileNotFoundException thrown by implicit super constructor. Must define an explicit constructor
您必须将私有fileScan变量的初始化移到构造函数中,并且会出现以下异常:

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

public class FileScan
{

      private Scanner fileScan;

      FileScan()
      {
          try {
              fileScan = new Scanner(new File(" "));
          } catch (FileNotFoundException e) {
              e.printStackTrace();
          }
      }

      public void fileLoader(Scanner fileScan)
      {

      }
}

第二个错误是您没有为fileLoader方法定义任何返回类型,因此我临时添加了
void

,假设您只需要一个默认构造函数,那么您的代码就可以了,只是您的函数定义在java中无效——您必须具有返回类型或void

public void fileLoader(Scanner fileScan)

public MyReturnType fileLoader(Scanner fileScan)

这就是你的全部代码吗?它在什么地方导入java.io.File了吗?@NilsH是的,这就是我现在所拥有的,我完全忘记导入java.io了,谢谢提醒。要抛出异常,它必须在一个具有main方法的类中,对吗?我希望构造函数在用户输入文件时接收该文件,然后我将信息存储在数组中,这似乎很好,但我不断出错!在获得文件路径之前,不能初始化
扫描仪。因此,您可以传递路径或要求用户提供路径,然后在您的方法中对其进行初始化或重新初始化。好的,这很有意义,我现在将沿着该路径尝试一些东西,谢谢!这似乎是不必要的复杂,如果它的工作,但它的工作。