Можете ли вы открыть / сохранить книгу с помощью 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