Корневая папка по умолчанию для проекта Eclipse - PullRequest
2 голосов
/ 24 октября 2009

Я пытаюсь прочитать файл следующим образом:

File imgLoc = new File("Player.gif");

BufferedImage image = null;

try {
    image = ImageIO.read(imgLoc);
}
catch(Exception ex)
{
    System.out.println("Image read error");
    System.exit(1);
}
return image;

У меня есть файл с именем «Player.gif», как показано в imgLoc, но я не знаю, куда поместить файл. Где Eclipse будет искать файл, когда я пытаюсь его прочитать?

Кроме того, есть ли лучший способ создания BufferedImage из файла изображения, хранящегося где-то среди каталогов проекта? (Т.е. лучший способ чтения изображения, чем через File, или лучший метод в File для создания BufferedImage).

Ответы [ 4 ]

3 голосов
/ 01 ноября 2009

Посмотрите в комментариях для Class.getResource и Class.getResourceAsStream. Это, вероятно, то, что вы действительно хотите использовать, так как они будут работать независимо от того, выполняете ли вы это из каталога проекта Eclipse или из файла JAR после того, как вы все упакуете.

Вы используете их в соответствии с:

InputStream in = MyClass.class.getResourceAsStream("Player.gif");

В этом случае Java будет искать файл «Player.gif» рядом с файлом MyClass.class. То есть, если полное имя пакета / класса - «com.package.MyClass», тогда Java будет искать файл в «[project] /bin/com/package/Player.gif». Комментарии для getResourceAsStream указывают, что если вы ведете с косой чертой, то есть «/Player.gif», то он будет выглядеть в корне (то есть в каталоге «bin»).

Обратите внимание, что вы можете удалить файл в каталог "src", и Eclipse автоматически скопирует его в каталог "bin" во время сборки.

2 голосов
/ 24 октября 2009

По моему опыту, по умолчанию это каталог, содержащий проекты, но есть простой способ узнать:

System.out.println(new File(".").getAbsolutePath());
2 голосов
/ 24 октября 2009

В диалоговом окне запуска вы можете выбрать каталог. По умолчанию используется корневой каталог проекта.

0 голосов
/ 24 октября 2009

Вы пытаетесь написать плагин для Eclipse или это обычный проект?

В последнем случае, не будет ли это зависеть от того, где программа установлена ​​и выполнена в конце?

При тестировании и запуске из Eclipse, я предполагаю, что он найдет файл в рабочей области проекта. Вы сможете это выяснить, открыв диалоговое окно свойств для проекта и заглянув под запись Resource .

Кроме того, вы можете добавить ресурсы в проект, используя опцию меню Импорт .

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