【发布时间】:2013-04-10 10:23:46
【问题描述】:
我正在我的 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(...) 失败
查看上述代码的示例输出:
/input/ZIP_0bd78143-f6cd-473f-84f7-d0da09dc42aa/7634/c:\SharedFiles\7634\1
它使用 windows 路径作为文件名,因为它无法破坏它。如果可能,我会尽量避免花哨的逻辑来检测路径的类型。
【问题讨论】:
标签: java linux windows string path