Java 扫描整数文件时的输入不匹配异常

Java 扫描整数文件时的输入不匹配异常,java,file,integer,java.util.scanner,inputmismatchexception,Java,File,Integer,Java.util.scanner,Inputmismatchexception,当我运行这段代码时,我得到一个InputMismatchException(参见注释)。为什么会发生这种情况?我要读取的文件包含由空格分隔的整数列表 下面是主要的方法 public static void main (String[] args) throws Exception { Scanner in = new Scanner(System.in); System.out.println("Enter file name: "); String f

当我运行这段代码时,我得到一个InputMismatchException(参见注释)。为什么会发生这种情况?我要读取的文件包含由空格分隔的整数列表

下面是主要的方法

    public static void main (String[] args) throws Exception {

    Scanner in = new Scanner(System.in);
    System.out.println("Enter file name: ");    
    String fname = in.nextLine();   

    System.out.println("Enter the starting x coordinate: ");
    int x = in.nextInt();
    System.out.println("Enter the starting y coordinate: ");
    int y = in.nextInt();

    Coordinate startPosition = new Coordinate(x, y);

    in.close();

    WaterMesa wm = new WaterMesa(fname);    

    Scanner fs = new Scanner(fname);

    grid_width = fs.nextInt();      // exception occurs here
    grid_height = fs.nextInt();     // and possibly here too?

    int i = 0;
    for (int r = 0; r < grid_width; r++) {  
        for (int c = 0; c < grid_height; c++) {
            i = fs.nextInt();
            grid[r][c] = i; 
            JPanel panel = new JPanel();
            primary.add(panel);

    fs.close();

    wm.canFlowOffMap(startPosition); 
        }
    }
    }
publicstaticvoidmain(字符串[]args)引发异常{
扫描仪输入=新扫描仪(系统输入);
System.out.println(“输入文件名:”);
字符串fname=in.nextLine();
System.out.println(“输入起始x坐标:”);
int x=in.nextInt();
System.out.println(“输入起始y坐标:”);
int y=in.nextInt();
坐标起始位置=新坐标(x,y);
in.close();
WaterMesa wm=新WaterMesa(fname);
扫描仪fs=新扫描仪(fname);
grid_width=fs.nextInt();//此处发生异常
grid_height=fs.nextInt();//这里可能也有?
int i=0;
对于(int r=0;r

您正在扫描的是文件名字符串,而不是文件内容。更改
Scanner fs=新扫描仪(fname)
to
Scanner fs=new Scanner(新文件(“/path/to/your/files/”+fname))