Попытка чтения в файле.txt с помощью сканера, но продолжаю получать FileNotFoundException

Я продолжаю получать FileNotFoundException в Java. У меня есть точное имя файла с расширением.txt, и файл.txt находится в той же папке вместе с моими файлами.java. Я не уверен, что здесь происходит, и я попробовал несколько вещей.

Вот мой основной класс, где я пытаюсь напечатать каждую команду с порядковым номером раньше, вызвав класс команд.

public class mainClass {
  public static void main(String[] args) throws Exception {
      commands fileCommands = new commands();
      for (int i = 0; i >= fileCommands.getLength() - 1; i++) {
            System.out.println("" + i + ": " + fileCommands.getCommand(i));
        }

Вот класс команд.

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

public class commands {

ArrayList<String> commandList;

public Commands() throws Exception {
    this.commandList = new ArrayList<>();

    try {
        Scanner s = new Scanner(new File("commands.txt"));

            while(s.hasNextLine()) {
                commandList.add(s.nextLine());
            }

    } catch (FileNotFoundException ex) {
        System.out.println(ex);
    }
 }


public int getLength() {
    return commandList.size();
}

public String getCommand(int pIndex) throws IllegalArgumentException {
    return commandList.get(pIndex);
}
}

2 ответа

Вам следует избегать загрузки таких файлов. Это не будет работать в различных сценариях.

Создать экземпляр Scanner как это вместо этого:

Scanner s = new Scanner(commands.class.getResourceAsStream("commands.txt"));

Еще одно замечание: соглашение об именах для классов в Java заключается в том, что имя должно начинаться с заглавной буквы.

Когда он компилируется и запускается .java файлы становятся .class файлы, и я почти уверен, что их источник находится в другом месте, поэтому вам все равно нужно указать местоположение вашего текстового файла:

Scanner s = new Scanner(new File("path-to-text-file/commands.txt"));
Другие вопросы по тегам