2012-03-23 61 views
0

我正在使用JExcel将我的Java应用程序写入Excel工作表。在创建或读取文件时,我只能使用确定的路径进行操作:你可以用JExcel打开/保存工作簿到不确定的路径吗?

工作簿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);

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

有没有办法做到这一点?

+0

不知道,这是一个JExcel问题,好像只是一个问题搞清楚如何找到Java文件类的文件。在上面的示例中,删除第一个斜杠 - 一个前导斜杠告诉该类在根目录中查找“数据”。 – 2012-03-23 19:32:34

+0

我会为您的应用程序定义一个临时文件夹,并使用它来保存/打开/对文件执行任何操作。也许你可以拥有2个文件夹,具体取决于你的操作系统。另一种出路是使用应用程序文件夹作为主文件夹,并在文件管理中使用临时文件夹。 – 2012-03-23 19:41:14

+0

是的,我也试过,我一直收到错误“(系统找不到指定的路径)”。 是否有可能,这只是一个错误,因为我现在通过Eclipse运行应用程序,而且它实际上还没有编译?顺便说一下,桌面,网页或移动应用程序是否为 – 2012-03-23 19:42:43

回答

0

我做了一个控制台应用程序来测试你的indefinite 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(); 
} 

当你运行该程序,为TMP​​FILES文件夹结构:

tmpFiles 
+ newFile.txt 

因此,您可以创建一个文件夹来管理您的应用程序中的文件。这些文件可以是Excel文件,dat文件等,路径将与应用程序的位置有关。从现在我工作了Eclipse IDE,基本路径是C:\工作区,因此该文件是在这里创造:

C:\Workspace\MyProject\tmpFiles 

当我搬到该项目d:\ Java的\测试\ anotherWorkspace ,该文件是在这里创造:

D:\Java\test\anotherWorkspace\MyProject\tmpFiles 
相关问题