Window / linux路径组件分离

时间:2013-04-17 15:09:32

标签: java linux windows string path

我正在我的linux环境中编写一个路径分隔符,它意在解析一个可以是linux和windows风格的文件路径,这是我以前从未了解过的。目前我正在使用File.separator进行拆分,但这只适用于我所使用的平台......

我想知道是否有办法使用像Path对象这样的东西来处理它。

[...]
Node pathElement = nodeList.item(nodePos);
String path = pathElement.getTextContent();
String[] pathElements = path.split(File.separator);
String contentFileName = pathElements[pathElements.length - 1];
String parentFolderPath = xmlFiles[u].getParentFile().getAbsolutePath();
pathElement.setTextContent(parentFolderPath + File.separator + contentFileName);
[...]
编辑:我需要能够从linux中破坏Windows样式路径,反之亦然。我还试图使用Paths.getPath(...)失败

请参阅上述代码的示例输出:

/输入/ ZIP_0bd78143-f6cd-473f-84f7-d0da09dc42aa / 7634 / C:\ SharedFiles \ 7634 \ 1

它使用windows路径作为文件名,因为它无法破坏它。我试图避免使用奇特的逻辑来检测路径的类型。

1 个答案:

答案 0 :(得分:1)

因此,根据您的编辑,您可能需要检测给定URI的FileSystem,可能需要查看此内容:

http://docs.oracle.com/javase/7/docs/api/java/nio/file/FileSystems.html