Можете ли вы открыть / сохранить книгу с помощью JExcel по неопределенному пути?

Я использую JExcel для записи в Excel Worksheets с моим Java-приложением. При создании или чтении из файла я смог сделать это только по определенному пути:

Workbook samWB = Workbook.getWorkbook (новый файл ("C:/eclipse/samples.xls")); Sheet samWS = samWB.getSheet(0);

Однако мне нужно иметь возможность взять свое приложение и поместить его в разные места на сервере и иметь файлы данных, из которых я буду читать и записывать, чтобы они находились в дочерней папке текущего расположения приложений. Что-то вроде этого:

Workbook resWB = Workbook.getWorkbook (новый файл ("/data/residual.xls")); Sheet resWS = resWB.getSheet(0);

Где папка "данные" находится внутри папки, из которой запускается приложение. Я пробовал несколько разных способов и пытался искать в Руководстве для программистов JExcel, но я продолжаю получать ошибки, и все примеры в Руководстве используют путь "C:/...".

Есть какой-либо способ сделать это?

1 ответ

Я сделал консольное приложение для проверки вашей неопределенной проблемы относительного пути. Это структура моего проекта:

MyProject
+  src
   +  edu.home
      + Main.java
+  tmpFiles

В классе Main.java у меня есть этот простой код:

public static void main(String[] args) {
    File f = new File("tempFiles/newFile.txt");
    try {
        f.createNewFile();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
}

Когда вы запускаете программу, структура для папки tmpFiles:

tmpFiles
+ newFile.txt

Таким образом, вы можете создать папку для управления файлами в вашем приложении. Эти файлы могут быть файлами Excel, файлами данных и т. Д., И путь будет указываться относительно местоположения приложения. В Eclipse IDE, с которой я сейчас работаю, базовый путь был C:\Workspace, поэтому файл был создан здесь:

C:\Workspace\MyProject\tmpFiles

Когда я переместил проект в D:\Java\test\anotherWorkspace, файл был создан здесь:

D:\Java\test\anotherWorkspace\MyProject\tmpFiles
Другие вопросы по тегам