Как добавить ресурсы в JAR-файл - PullRequest
4 голосов
/ 14 августа 2011

Мне нужно добавить exel-файл в мою банку, чтобы он был переносимым. Я знаю, что ответом является использование getClass (). GetResource .... но я понятия не имею, как использовать этот код.

У меня есть файл exel в папке src с моими файлами классов, он работает в netbeans, но не при открытии файла jar на другом ПК. я получаю файл не найден исключение

вот код, который я использовал:

public class WindageLogic {

  //....
  public void GetValues() throws Exception
    {


    File exel=new File("src/Calculator/table1.xls");

     Workbook w1; //reads from file

     //reads from file
     w1 = Workbook.getWorkbook(exel);

Может кто-нибудь дать мне код для реализации, который позволит мне получить доступ к этому файлу из приложения jar, я провел все выходные, просматривая информацию в Интернете, но я не понимаю, как я могу использовать эти методы getresource.

большое спасибо

Ответы [ 2 ]

2 голосов
/ 14 августа 2011

Если ваш файл Excel является ресурсом, то вы не можете использовать File для манипулирования им, а скорее ресурсы, и я считаю, что он доступен только для чтения - вы уверены, что это то, что вы хотите сделать?Вместо этого вы можете загрузить командную строку String, которая сообщает программе, с чего начать поиск файла, или создать файл свойств, который сообщает, где искать в первый раз.

Редактировать 1
Есливы используете JExcel, тогда вы можете позвонить Workbook.getWorkbook(java.io.InputStream is) и получить свой ресурс в виде потока с помощью метода getResourceAsStream(...) класса.

например,

  public void GetValues() throws Exception   {
     Workbook w1; //reads from file
     w1 = Workbook.getWorkbook(WindageLogic.class.
          getResourceAsStream("/Calculator/table1.xls") );
     //...
1 голос
/ 14 августа 2011

Чтобы метод getClass (). GetResource () работал, ресурс должен быть доступен в classpath приложения (либо упакован в один из файлов jar, либо просто в папке на диске, которая включена в classpath). ).

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

Самый простой способ - поместить папку src в путь запуска класса java -classpath src:%CLASSPATH% <your.class.name>

...