2016-09-20 25 views
0

我正在製作自己的Eclipse插件,但遇到意外的行爲。在linux上的Eclipse中創建文件取決於它如何啓動Eclipse

當從命令行運行Eclipse:

$ cd /home/user/downloads;/home/user/eclipse/eclipse 

我這樣稱呼它創建工作區之外的新文件的功能:

new java.io.File("home/user/folder/file") 

它會返回一個新的文件的路徑:

/home/user/downloads/home/user/folder/file 

因此,它添加了當我啓動eclipse時更改目錄命令的路徑。

如果這是故意如何創建我的文件?

回答

1

有沒有這樣的類作爲java.net.File想必你的意思是java.io.File

路徑home/user/folder/file是相對路徑 - 即它是相對於當前目錄的任何可能。所以,如果你的當前目錄是/home/user/downloads完整的文件路徑將會/home/user/downloads/home/user/folder/file

如果不希望這種情況發生,你必須指定一個絕對路徑 - 在UNIX,Linux和Mac即開始/這樣的路徑

new java.io.File("/home/user/folder/file"); 

(注意前導/)會給你一個具有確切路徑的文件。

+0

java.net.file確實是一個錯字,應該是java.io.file。該解決方案超出了我的想法,但我駁回了它,因爲它沒有從命令行啓動eclipse就像絕對路徑一樣工作。但是,無論如何,我會繼續努力,謝謝 – Staalk

+0

當前目錄的值因運行方式而異,所以最好儘可能避免相對路徑。 –

相關問題