我正在使用JExcel使用我的Java应用程序写入Excel工作表。在创建或读取文件时,我只能使用明确的路径:
工作簿samWB = Workbook.getWorkbook(新文件(“C:/eclipse/samples.xls”)); Sheet samWS = samWB.getSheet(0);
但是,我需要能够将我的应用程序放在服务器上的不同位置,并将我将要读取和写入的数据文件放在当前应用程序位置的子文件夹中。像这样:
工作簿resWB = Workbook.getWorkbook(新文件(“/ data / residual.xls”)); Sheet resWS = resWB.getSheet(0);
文件夹“data”位于运行应用程序的文件夹中。我尝试了几种不同的方法,并尝试搜索JExcel Programmers指南,但我不断收到错误,指南中的所有示例都使用路径“C:/ ...”。
有没有这样做?
答案 0 :(得分:0)
我制作了一个控制台应用程序来测试你无限期的重新路径问题。这是我项目的结构:
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文件,dat文件等,路径将相对于应用程序的位置。从Eclipse IDE我现在正在使用,基本路径是C:\ Workspace,所以文件是在这里创建的:
C:\Workspace\MyProject\tmpFiles
当我将项目移动到D:\ Java \ test \ anotherWorkspace时,文件是在这里创建的:
D:\Java\test\anotherWorkspace\MyProject\tmpFiles