IFileStore无法从重音字符Eclipse RCP的路径阅读

问题描述 投票:0回答:1

IFileStore代表我的RCP应用程序的本地文件系统中的文件。这工作完全在Windows的任何路径。然而,在Mac OS,iFileStore对象无法如果路径中包含重音字符像E I正确地获取信息。

IFileInfo iFileInfo = iFileStore.fetchInfo();

反正这个可以处理?

java eclipse-plugin eclipse-rcp
1个回答
0
投票

MACOS使用“分解”格式的文件路径 - 重音从字符分开存储。这就是所谓的统一NFD格式。

在一个Eclipse插件,您可以使用com.ibm.icu.text.Normalizer2将字符串转换为分解格式

Normalizer2 normalizer = Normalizer2.getNFDInstance();

String decomposed = normalizer.normalize(string);

采用

EFS.getLocalFileSystem().getStore(new Path(decomposed));

从路径获得IFileStore

© www.soinside.com 2019 - 2024. All rights reserved.