seticon redimensionar icon clase java file file-io path

redimensionar - ¿Java tiene un método de unión de ruta?



scale icon java (4)

Duplicado exacto:

combinar caminos en java

Me gustaría saber si existe tal método en Java. Toma este fragmento como ejemplo:

// this will output a/b System.out.println(path_join("a","b")); // a/b System.out.println(path_join("a","/b");


Este es un comienzo, no creo que funcione exactamente como usted pretende, pero al menos produce un resultado consistente.

import java.io.File; public class Main { public static void main(final String[] argv) throws Exception { System.out.println(pathJoin()); System.out.println(pathJoin("")); System.out.println(pathJoin("a")); System.out.println(pathJoin("a", "b")); System.out.println(pathJoin("a", "b", "c")); System.out.println(pathJoin("a", "b", "", "def")); } public static String pathJoin(final String ... pathElements) { final String path; if(pathElements == null || pathElements.length == 0) { path = File.separator; } else { final StringBuilder builder; builder = new StringBuilder(); for(final String pathElement : pathElements) { final String sanitizedPathElement; // the "//" is for Windows... you will need to come up with the // appropriate regex for this to be portable sanitizedPathElement = pathElement.replaceAll("//" + File.separator, ""); if(sanitizedPathElement.length() > 0) { builder.append(sanitizedPathElement); builder.append(File.separator); } } path = builder.toString(); } return (path); } }


Para citar una buena respuesta a la misma pregunta :

Si lo quiere volver como una cadena más tarde, puede llamar a getPath (). De hecho, si realmente quieres imitar a Path.Combine, puedes escribir algo como:

public static String combine (String path1, String path2) { File file1 = new File(path1); File file2 = new File(file1, path2); return file2.getPath(); }


Puedes simplemente hacer

String joinedPath = new File(path1, path2).toString();


Una forma es obtener las propiedades del sistema que le proporcionen el separador de ruta para el sistema operativo, este tutorial explica cómo hacerlo. A continuación, puede utilizar una unión de cadena estándar utilizando file.separator .