затмение и путь - PullRequest
       25

затмение и путь

1 голос
/ 07 октября 2009

Здравствуйте, я написал такую ​​функцию под Eclipse:

public static ArrayList<String> getMails(){
    ArrayList<String> mails = new ArrayList<String>(); 
      try{
            FileInputStream fstream = new FileInputStream("mails.txt");
            DataInputStream in = new DataInputStream(fstream);
                BufferedReader br = new BufferedReader(new InputStreamReader(in));
            String strLine;
            while ((strLine = br.readLine()) != null)   {
              mails.add(strLine.trim());
            }

            in.close();
            }catch (Exception e){//Catch exception if any
              System.err.println("Error: " + e.getMessage());
            }

    return mails;
}

Файл mails.txt находится в рабочей области / имя проекта, я хочу сохранить этот элемент в каталоге рабочей области / имя_проекта / bin / как относительный путь, поэтому всякий раз, когда я копирую каталог рабочей области / имя_проекта // bin в другое место или компьютер, пусть работает. Однако, когда я пытаюсь это сделать, я получаю исключение «FileNotFound». Как я могу это исправить ? Спасибо

1 Ответ

5 голосов
/ 07 октября 2009

Если вы сохраните текстовый файл в каталоге source (не в каталоге bin), в котором находится класс (тот, который вы извлекли выше), тогда файл будет автоматически скопирован в каталог bin во время сборки , Вы прочитали бы его как ресурс, а не как файл:

final InputStream in = MyClass.class.getResourceAsStream("mails.txt");
final Reader isr = new InputStreamReader(in, "ISO-8859-1"); //or whatever
final BufferedReader br = new BufferedReader(isr);
try {
    // ...
} finally {
    br.close();
}
...