Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 解析Mac OS中JFileChooser返回的本地化文件夹的名称_Java_Macos_Jfilechooser - Fatal编程技术网

Java 解析Mac OS中JFileChooser返回的本地化文件夹的名称

Java 解析Mac OS中JFileChooser返回的本地化文件夹的名称,java,macos,jfilechooser,Java,Macos,Jfilechooser,在Mac OS中,某些文件夹,如“桌面”或“应用程序”是本地化的,因此在Finder中它们被命名为例如德语的“Schreibtisch”和“程序”。这似乎会导致Java中的JFileChooser出现问题 当我设置JFileChooser只允许通过setFileSelectionMode方法选择目录,并且用户选择“Schreibtisch”时,我从对话框返回的路径是*/Users/username/Schreibtisch*。显然,此文件夹不存在,因为它是*/Users/username/Des

在Mac OS中,某些文件夹,如“
桌面
”或“
应用程序
”是本地化的,因此在Finder中它们被命名为例如德语的“
Schreibtisch
”和“
程序
”。这似乎会导致Java中的
JFileChooser出现问题

当我设置
JFileChooser
只允许通过
setFileSelectionMode
方法选择目录,并且用户选择“
Schreibtisch
”时,我从对话框返回的路径是
*/Users/username/Schreibtisch*
。显然,此文件夹不存在,因为它是
*/Users/username/Desktop*
的本地化名称

File.exists()
File.isDirectory()
都返回false,getCanonicalPath()无法解析本地化。有没有办法从本地化路径检索“物理”路径


奇怪的是,当用户选择“
Schreibtisch
”的子文件夹时,例如
*/Users/username/Schreibtisch/images*
,返回的路径是
*/Users/username/Desktop/images*
,这是正确的。

我刚刚意识到这只发生在调用showDialog()时,而不是在使用showOpenDialog()时。我仍然想知道如何解析上述路径。