在java中获取完整的系统环境路径

时间:2014-02-18 16:24:59

标签: java

我使用System.getenv()来获取系统环境的值。 Windows中的变量并返回以下形式:

C:\ PROGRA〜1 ...

即;简短形式。

是否可以获得完整的表格;例如“C:\ PROGRAM FILES ...”

我想对返回的字符串执行搜索,如果我使用完整的字符串会更好。

由于

格雷厄姆

1 个答案:

答案 0 :(得分:1)

不,是的。

不,你不能从“env”属性对象/地图中获取它们。

但是你应该能够将那些DOS风格的“8.3”文件名翻译成完整的文件名。

显然,就像在包含“8.3”名称的路径上调用File.getCanonicalPath()一样简单......如果你在Windows上运行。 ......或者我在某处读到。显然这不正确。

标准的“Microsoft”方法是使用Win32标准库中的Win32::GetLongPathName(PATHNAME)。我无法在Java中找到任何来执行此操作,因此您可能需要求助于JNI / JNA。

另一种方法是踩踏将8.3路径放入Windows环境变量的任何内容。