Как правильно ссылаться на текстовый файл после экспорта jar-проекта - PullRequest
0 голосов
/ 23 сентября 2019

Создание маленькой игры палача просто для удовольствия и больше экспериментировать с IO.Исходное решение, как показывает код, работает в среде IDE (используя NetBeans).Проблема в том, что когда я экспортирую его как файл Jar, он не может найти файл, на который я ссылаюсь.Как правильно прочитать внешний файл после его экспорта?

public HangmanGame(){
    File file = new File("src\\hangman\\words");
    try{
    Scanner fileScan = new Scanner(file);

    int number = (int)(Math.random()*260);
    for(double i=0; i<260; i++){
        if(i == number){
            word = fileScan.nextLine();
            fileScan.close();
            break;
        }else{
            fileScan.nextLine();
        }

    }
    }catch(FileNotFoundException e){
        System.out.println(e.getMessage());

    }
    System.out.println(word);


}

1 Ответ

1 голос
/ 23 сентября 2019

Поместите свой файл в «ресурсы» проекта - он будет упакован в банку.Затем вам нужно прочитать его изнутри jar, а не из файловой системы - см. этот поток для справки и этот ответ , если вам нужен запасной метод для запуска проекта в IDE и непосредственно изjar.

tl; dr: Ваш код должен выглядеть примерно так

    try {
        InputStream in = getClass().getResourceAsStream("words");
        Scanner fileScan = new Scanner(in);
        ...
...