Мой метод не может найти файлы в каталоге - PullRequest
0 голосов
/ 15 февраля 2012
public class Cww {
static List<String> readFile(String filename) {
    List<String> records = new ArrayList<String>();
    try {
        BufferedReader reader = new BufferedReader(new FileReader(filename));
        String line;
        while((line = reader.readLine()) != null)
        {
            records.add(line);
        }
        reader.close();
        return records;
    } catch(Exception e) {
        System.out.println(e);
        return null;
    }
}

и мой главный:

readFile("DirList.java");

    File file = new File("DirList.java");
    System.out.println(file.getCanonicalPath());

// CLASSPATH: .;..;J:\Programowanie\eclipse workspace\tij;C:\Program Files\Java\jre7\lib\ext\QTJava.zip

output: java.io.FileNotFoundException: DirList.java (Nie można odnaleźć określonego pliku)
J:\Programowanie\eclipse workspace\Rozdzial 18 cwiczenia\DirList.java

file.getCanonicalPath() показывает, что jvm ищет мой файл там, где он есть на самом деле, но мой метод fileRead по-прежнему выдает ошибку,

Нужно ли включать каждую папку проекта в мой путь к классам для чтения файлов из них?

Заранее спасибо

Ответы [ 2 ]

1 голос
/ 15 февраля 2012

FileReader(filename) откроет «DirList.java» в каталоге, из которого был выполнен ваш код Java (относительный путь). Это никак не связано с CLASSPATH.

1 голос
/ 15 февраля 2012

Аргумент конструктора File - это абсолютное или относительное имя файла.Он не будет использовать classpath, имя файла - если не абсолютное - всегда относительно текущего рабочего каталога.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...