linux 上 Eclipse 中的文件创建取决于 Eclipse 的启动方式

File creation in Eclipse on linux depends on how it Eclipse is started

我正在制作自己的 Eclipse 插件,但 运行 出现意外行为。

当 运行 来自命令行的 Eclipse 时:

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

然后我调用了在工作区外创建新文件的功能:

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

它将return一个新文件,路径为:

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

所以它在我启动eclipse时添加了更改目录命令的路径。

如果这是故意的,我应该如何创建我的文件?

没有java.net.File这样的class 大概你的意思是java.io.File

路径home/user/folder/file 是一个相对路径——也就是说它是相对于当前目录的,无论它是什么。因此,如果您的当前目录是 /home/user/downloads,则完整文件路径将为 /home/user/downloads/home/user/folder/file

如果您不希望发生这种情况,您必须指定一个 绝对 路径 - 在 Unix 上,Linux 和 Mac 上是一个以 [=16 开头的路径=] 所以

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

(注意前导 /)将为您提供具有该确切路径的文件。