Gibt es ein Java-Äquivalent für System.IO.Path.Combine()
in C#/.NET? Oder irgendeinen Code, um dies zu erreichen?
Diese statische Methode kombiniert eine oder mehrere Zeichenketten zu einem Pfad.
Gibt es ein Java-Äquivalent für System.IO.Path.Combine()
in C#/.NET? Oder irgendeinen Code, um dies zu erreichen?
Diese statische Methode kombiniert eine oder mehrere Zeichenketten zu einem Pfad.
Diese Lösung bietet eine Schnittstelle zum Verbinden von Pfadfragmenten aus einem String[]-Array. Sie verwendet java.io.File.File(String parent, String child) :
public static joinPaths(String[] fragments) {
String emptyPath = "";
return buildPath(emptyPath, fragments);
}
private static buildPath(String path, String[] fragments) {
if (path == null || path.isEmpty()) {
path = "";
}
if (fragments == null || fragments.length == 0) {
return "";
}
int pathCurrentSize = path.split("/").length;
int fragmentsLen = fragments.length;
if (pathCurrentSize <= fragmentsLen) {
String newPath = new File(path, fragments[pathCurrentSize - 1]).toString();
path = buildPath(newPath, fragments);
}
return path;
}
Dann können Sie es einfach tun:
String[] fragments = {"dir", "anotherDir/", "/filename.txt"};
String path = joinPaths(fragments);
Rückgabe:
"/dir/anotherDir/filename.txt"
Unter der Annahme, dass alle angegebenen Pfade absolute Pfade sind, können Sie die folgenden Schnipsel verwenden, um diese Pfade zusammenzuführen.
String baseURL = "\\\\host\\testdir\\";
String absoluteFilePath = "\\\\host\\testdir\\Test.txt";;
String mergedPath = Paths.get(baseURL, absoluteFilePath.replaceAll(Matcher.quoteReplacement(baseURL), "")).toString();
Ausgangspfad ist \\host\testdir\Test.txt.
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.
1 Stimmen
Diese SO könnte eine Frage helfen.