Затмение, как ссылаться на файл в другом src под тем же проектом - PullRequest
2 голосов
/ 09 сентября 2011

Моя текущая настройка в Eclipse такая:

багажник
--working / ЦСИ
--resources

У меня есть файл java внутри пакета под рабочей / src, и я пытаюсь получить файл в ресурсах. Я использую путь "../resources/file.txt". Однако я получаю сообщение о том, что файл не существует.

Любая помощь будет оценена спасибо!

Ответы [ 3 ]

2 голосов
/ 15 января 2013

Учитывая вашу структуру

У меня есть пакет как

багажник

  • рабочий / SRC / FileRead.java
  • resources / name list.txt

Следующий код может решить вашу проблему

 package working.src;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;

public class FileRead {
    public FileRead() {
        URL url = getClass().getResource("/resources/name list.txt");
        try {
            BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
            String nameList;
            while ((nameList = in.readLine()) != null) {
                System.out.println(nameList);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) {
        new FileRead();
    }
}
0 голосов
/ 09 сентября 2011

Это зависит от того, как вы указали свой Java Build Path в eclipse.Я протестировал две установки с разными результатами:

  1. Определить каталог working/src только как путь сборки.Вы можете получить информацию о том, что находится на вашем пути сборки: Select project > Properties > Java Build Path > Tab Source.Здесь перечислены все исходные папки.Вы видите, что определена папка вывода по умолчанию.Все ресурсы, содержащиеся в пути сборки, копируются в выходную папку по умолчанию, а затем становятся доступными для классов затмения.Вы можете проверить это в перспективе ресурса в папке bin, если ресурс скопирован туда.В этой настройке генерируются только классы, ресурсы не копируются (и, следовательно, не обнаруживаются).
  2. Определите каталог working/src и resources в качестве пути сборки.Затем ресурс копируется и затем может быть найден по пути "file.txt"

Таким образом, в eclipse включен простой процесс сборки и он скрыт от разработчика, но, тем не менее, это процесс сборки.

0 голосов
/ 09 сентября 2011

Файлы будут ссылаться относительно пути вашего проекта, поэтому используйте «resources / file.txt» для ссылки на файл.

Однако, если вы хотите, чтобы файл был доступен при экспорте программы в виде JAR, путь «resources / file.txt» должен существовать относительно вашего JAR.

...