2015-04-27 3 views
0

У меня возникли некоторые проблемы, определяя местонахождение текстового файла в моем кодеEclipse, не найдя файл

public static void main(String[] args) { 
    if (args.length != 2) { 
     throw new IllegalArgumentException("args is out of range"); 
    } 

    final String from = args[0]; 
    final String to = args[1]; 
    int errCode = 0; // Unix error handling 

    // FileReader uses "the default character encoding". 
    // To specify an encoding, use this code instead: 
    // new BufferedReader(new InputStreamReader(new 
    // FileInputStream(fileName), "UTF-8")); 

    // This "try-with-resource" statement automatically calls file.close() 
    // just before leaving the try block. 
    try (BufferedReader file = new BufferedReader(new FileReader("distances.txt"))) { // absolutadressen :C 
     pathSearch(from, to, file); 
    } catch (IOException e) { 
     System.err.println("File not found"); 
     errCode = 1; 
    } finally { 
     System.exit(errCode); 
    } 
} 

Everytime я бегу, он говорит: «Файл не найден». Я попытался заменить «distances.txt» на адрес distances.txt на. distances.txt также находится внутри папки проекта, поэтому я не понимаю, почему он не найден. Если я запустил код из терминала, файл можно найти, используя его адрес, но я бы хотел, чтобы он работал из eclipse. Alternativ, чтобы иметь возможность поместить весь этот пакет

Вот фото проекта

project http://oi61.tinypic.com/11agzkk.jpg

ответ

2

Возьмите его из пакета в папке Src, а затем использовать строку ниже, чтобы прочитать это:

BufferedReader file = new BufferedReader(new FileReader(getClass().getResource("/distances.txt").getFile())); 
+0

я «не может сделать статическую ссылку на нестатической метод GetClass() от типа объекта. Я бегу это мой основной() метод, собирается показать больше кода в исходное сообщение в уточнить. –

+0

@PontusBrink Можете ли вы попробовать 'Class.class 'вместо' getClass() '? – farukdgn

+0

Работал, но я до сих пор получаю ошибку «Файл не найден»:/ –

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