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");
(注意前导 /
)将为您提供具有该确切路径的文件。
我正在制作自己的 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");
(注意前导 /
)将为您提供具有该确切路径的文件。