IFileStore 无法从带有重音字符 Eclipse RCP 的路径读取



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

最新更新