Моя программа читает файлы .txt в Eclipse, но не когда я экспортирую как .jar? - PullRequest
0 голосов
/ 02 января 2012

У меня есть несколько TXT-файлов в папке с именем «progress», например:

enter image description here

Программа прекрасно читает файлы, когда я запускаю его как приложение Java в Eclipse, но когда я экспортирую его как jar и запускаю, он не работает. Я использую BufferedReader для чтения файлов .txt, и я называю текстовые файлы «progress / easy1.txt» и т. Д. Могу ли я что-нибудь сделать, чтобы это исправить?

EDIT:

У меня есть такой метод писателя:

public void writeToFile(String filename){

     BufferedWriter bufferedWriter = null;

     try {

            //Construct the BufferedWriter object
            bufferedWriter = new BufferedWriter(new FileWriter(filename));

            //Start writing to the output stream
            bufferedWriter.write("a");

        } catch (FileNotFoundException ex) {
            ex.printStackTrace();
        } catch (IOException ex) {
            ex.printStackTrace();
        } finally {
            //Close the BufferedWriter
            try {
                if (bufferedWriter != null) {
                    bufferedWriter.flush();
                    bufferedWriter.close();
                }
            } catch (IOException ex) {
                ex.printStackTrace();
            }
        }

}

Так, как бы я включил .getResourceAsStream () с этим?

Ответы [ 2 ]

2 голосов
/ 02 января 2012

Да, вы должны поместить их в каталог в вашем источнике и получить доступ, используя путь к классам.См. Class.getResourceAsStream () для примера.Это заставит его работать везде.

0 голосов
/ 02 января 2012

Мой класс читает файл из корневой папки моего проекта, используя:

    FileInputStream fis = new FileInputStream(filename); 
    Scanner scanner = new Scanner(fis);

, где filename - это имя моего файла (включая путь к файлу).

Есливы генерируете исполняемый jar-файл, используя eclipse, выбирая ваш класс (с помощью основного метода), в моем случае - test.ReverseWords как «Launch Configuration» в процессе и выполняете jar, например:

java -cp runnable.jar testing.ReverseWords progress / B-large-practice.in

и найти файл.Я надеюсь, что это поможет вам.

...