在Mac OS中,某些文件夹如" Desktop
"或" Applications
"是本地化的,因此在Finder中它们被命名为例如" Schreibtisch
"和" Programme
"在德国。这似乎导致了JFileChooser in Java
。
当我设置JFileChooser
以仅允许通过setFileSelectionMode
方法选择目录并且用户选择" Schreibtisch
"时,我收到的路径从对话框返回*/Users/username/Schreibtisch*
。显然这个文件夹不存在,因为它是*/Users/username/Desktop*
的本地化名称。
File.exists()
或File.isDirectory()
都返回false,getCanonicalPath()无法解析本地化。有没有办法检索"物理"从本地化的路径?
奇怪的是,当用户选择" Schreibtisch
"的子文件夹,例如*/Users/username/Schreibtisch/images*
时,返回的路径为*/Users/username/Desktop/images*
,这是正确的。