IFileStore 表示我的 RCP 应用程序的本地文件系统中的一个文件。这在任何路径的窗口中都非常有效。但是,在 mac os 中,如果路径包含重音字符(如 á é í(,则 iFileStore 对象无法正确获取信息。
IFileInfo iFileInfo = iFileStore.fetchInfo();
反正这能处理吗?
macOS 对文件路径使用"分解"格式 - 重音与字符分开存储。这被称为 Unicode NFD 格式。
在 Eclipse 插件中,您可以使用 com.ibm.icu.text.Normalizer2
将字符串转换为分解格式
Normalizer2 normalizer = Normalizer2.getNFDInstance();
String decomposed = normalizer.normalize(string);
用
EFS.getLocalFileSystem().getStore(new Path(decomposed));
从路径获取IFileStore