2013-03-29 3 views
0

Я использую OS X, Netbeans 7.3 Beta 2, Java.Распределенный файл jar не поднимает мой .txt-файл

У меня есть программа, которая читается из текстового файла. При запуске моей распределенной банки моя программа не использует этот .txt-файл.

Вот мои два пакета - игнорировать все Java-файлы в com.john.view кроме SPPMainGUI2.java:

Ignore all

Как вы можете видеть, cpass.txt находится в com.john. SPP. Вот как я его использую:

BufferedReader in = null; 
    try { 
     in = new BufferedReader(new FileReader("cpass.txt")); 
    } catch (FileNotFoundException ex) { 
     Logger.getLogger(SPPMainGUI2.class.getName()).log(Level.SEVERE, null, ex); 
    } 

Я предполагаю, что мое местоположение FileReader должно быть изменено. Когда моя программа работает из Netbeans, она работает нормально, когда я запускаю файл jar, найденный в моей папке dist, он не забирает файл .txt.

Любые идеи?

ответ

2

В каком классе вы читаете файл? В SPPMainGUI2?

Затем вам нужно будет изменить getClass() на Main.class или на другой класс, который находится в пакете com.john.spp.

+0

Это SPPMainGUI2. Когда я меняю его, я получаю сообщение об ошибке «Не могу найти символ». –

+0

Ну, это может быть что угодно. Является ли это компиляционной ошибкой или она возникает при ее запуске? – skirsch

+0

Ошибка компиляции. Чтобы уточнить, я написал это так: Main.class.getResourceAsStream ("../ cpass.txt") Я также попробовал «cpass.txt» –

2

Вместо чтение файлов, как с new FileReader("cpass.txt") использовать механизм доступа к ресурсам:

in = new BufferedReader(new InputStreamReader(
        getClass().getResourceAsStream("cpass.txt"))); 
+0

ОК, я изменил ссылку на («../cpass.txt»), но теперь он продолжает бросать много ошибок, таких как Исключение в потоке «AWT-EventQueue-0» java.util.regex.PatternSyntaxException: Unclosed класс символов рядом с индексом 11 qwertyuiop [] - Я не хочу проходить через .txt-файл и исправлять все эти ошибки. Есть идеи? –

+0

Из-за ошибки, похоже, вы создаете регулярные выражения из строк, которые не являются регулярными выражениями, которые не имеют никакого отношения к чтению файла. Возможно, вам стоит опубликовать новый вопрос с подробностями этой новой ошибки. – Joni

+0

Я удалил слова в файле .txt, вызвав ошибки. Теперь он отлично работает в Netbeans, но теперь он не запускается как файл dist jar. Есть идеи? –

Смежные вопросы