猿问

扫描仪无法在 Mac 上运行。我认为它无法接受方法中的 int 值

我在课堂上被教导如何使用扫描仪读取文件。我们编写的这段代码适用于 windows(eclipse),但不适用于 mac(coderunner)。图像包含此项目中使用的文本文件。


import java.io.File;

import java.io.FileNotFoundException;

import java.util.Scanner;


public class Main {

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


       String fileName = "/Users/User1/Desktop/example.rtf";


       File textFile = new File(fileName);


       Scanner in = new Scanner(textFile);


       int value = in.nextInt();

       System.out.println("Read value: " + value);


       in.nextLine();


       int count = 2;


       while(in.hasNextLine()){

           String line = in.nextLine();


           System.out.println(count + ": " + line);

           count++;

       }


       in.close();


    }

}

// Output Below

Exception in thread "main" java.util.InputMismatchException

    at java.util.Scanner.throwFor(Scanner.java:864)

    at java.util.Scanner.next(Scanner.java:1485)

    at java.util.Scanner.nextInt(Scanner.java:2117)

    at java.util.Scanner.nextInt(Scanner.java:2076)

    at Main.main(Main.java:14)


Process finished with exit code 1

叮当猫咪
浏览 120回答 1
1回答

缥缈止盈

至于您的问题,虽然文件是文本文件,但它不是您的程序假定的纯文本文件。它使用富文本格式,这是一种可以处理格式化文本的特殊格式。如果您使用纯文本编辑器(或less在终端中使用)打开它,您将看到实际内容。要解决您的问题,您应该将其保存为未格式化的例如example.txt.
随时随地看视频慕课网APP

相关分类

Java
我要回答