私は自分の 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);
[...]
編集: Windows スタイルのパスを Linux から、またはその逆に分割できるようにする必要があります。私も使用しようとしましたがPaths.getPath(...)
失敗しました
上記のコードからのサンプル出力を参照してください。
/input/ZIP_0bd78143-f6cd-473f-84f7-d0da09dc42aa/7634/c:\SharedFiles\7634\1
それを壊すことができなかったので、Windowsパスをファイル名として使用しました。可能であれば、パスのタイプを検出するための派手なロジックを避けようとしています。