基于Unix的系统上的File.separator

时间:2013-11-07 08:41:28

标签: java unix

我开发了一个桌面应用程序,它可以执行一些文件写入操作。要获取文件的路径,我使用了以下代码:

static final String workingDir = System.getProperty("user.dir");

public static final String resourcesPath = 
    workingDir + File.separator + "src" + File.separator;
Windows变量resourcesPath中的

包含C:\app\src\但是当我在基于unix的系统上执行应用程序时,这会返回/home/eboss\src\

在基于unix的系统中/home/eboss是来自System.getProperty("user.dir");的路径,这是正确的,但当我与File.separator结束时,它会追加路径\。结果我得到(没有这样的文件或目录)错误。

为什么基于unix的系统返回错误的路径。

1 个答案:

答案 0 :(得分:0)

听起来你在Unix上运行它的JVM存在问题。

提供:

  • 您正在使用正确的JVM,例如Sun / Oracle中的JVM,

  • 您没有使用Windows JVM中的文件覆盖JVM的jar文件

...该代码将正常工作。您需要重新安装JVM并确保不会覆盖任何JVM jar。

(我无法让我的Linux JVM使用Windows rt.jar [包含File.class的那个],但我不能100%保证它不可能。我试过,我能做的最好就是让我的JVM拒绝初始化。)