Java 解析Mac OS中JFileChooser返回的本地化文件夹的名称
在Mac OS中,某些文件夹,如“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
桌面
”或“应用程序
”是本地化的,因此在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()时。我仍然想知道如何解析上述路径。