Сканер не будет работать на Mac.Я думаю, что он не может принять значение int из метода - PullRequest
0 голосов
/ 15 февраля 2019

Меня учили, как читать файлы с помощью сканера в моем классе.Этот код, который мы написали, работает на 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

Image contains the text file used in this project.

1 Ответ

0 голосов
/ 15 февраля 2019

Что касается вашей проблемы, то, хотя файл является текстовым файлом, это не текстовый файл plain , который предполагается вашей программой.Он использует Rich Text Format , который является специальным форматом, который может обрабатывать форматированный текст.

Если вы откроете его с помощью простого текстового редактора (или с помощью less в терминале), вы увидитефактическое содержание.

Чтобы решить вашу проблему, вы должны сохранить ее в неотформатированном виде , например example.txt.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...