0

我正在使用 JExcel 通过我的 Java 应用程序写入 Excel 工作表。在创建或读取文件时,我只能使用明确的路径来做到这一点:

工作簿 samWB = Workbook.getWorkbook(new File("C:/eclipse/samples.xls")); 工作表 samWS = samWB.getSheet(0);

但是,我需要能够获取我的应用程序并将其放在服务器上的不同位置,并将我将要读取和写入的数据文件放在当前应用程序位置的子文件夹中。像这样的东西:

工作簿 resWB = Workbook.getWorkbook(new File("/data/residual.xls")); 工作表 resWS = resWB.getSheet(0);

文件夹“数据”位于应用程序运行所在的文件夹内。我尝试了几种不同的方法并尝试通过 JExcel Programmers 指南进行搜索,但我不断收到错误,并且指南中的所有示例都使用路径“C:/...”。

有没有办法做到这一点?

4

1 回答 1

0

我制作了一个控制台应用程序来测试您的无限 relavite 路径问题。这是我的项目的结构:

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
于 2012-03-23T19:56:18.527 回答