我试图从谷歌找到答案,但我失败了。
我熟悉python,我们可以通过“os.path.sep”检查特定于平台的目录分隔符。
XPCOM组件中是否有一种方法或某些常量可以指示路径分隔符?
或者有没有办法规范化特定于平台的路径?
例如,用户在窗口下输入文件路径:C:/path1/path2/test.txt
如果我不使路径平台有效,则使用nsILocalFile :: initWithPath将抛出异常。有效路径应为“C:\ path1 \ path2 \ test.txt”。所以我想知道有办法使路径有效并且可以初始化nsILocalFile。
答案 0 :(得分:2)
/**
* Returns file path separator under current OS
*/
function getPathSeparator()
{
var profD = Components.classes["@mozilla.org/file/directory_service;1"].
getService(Components.interfaces.nsIProperties).
get("ProfD", Components.interfaces.nsIFile);
profD.append("abc");
profD.append("abc");
var length = profD.path.length;
return profD.path.substr(length-("abc".length)-1,1);
}
答案 1 :(得分:0)
您可以将nsIIOService.newURI与file:// URI一起使用,然后返回一个nsIFileURL对象,从中可以获取nsIFile对象。您可以从nsIFile对象获取路径信息。