2009-10-23 2 views
1

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

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, но я не знаю, куда девать файл. Где затмение будет искать файл, когда я попытаюсь его прочитать?

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

ответ

2

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

0

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

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

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

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

Надеюсь, это поможет.

2

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

System.out.println(new File(".").getAbsolutePath()); 
+0

это печатает корневой путь установки eclipse – supermus

3

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

Вы можете использовать их по линиям:

InputStream в = 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» во время сборки.

HTH

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