Вместо того, чтобы хранить все на основе строк, вы должны использовать класс, который предназначен для представления пути к файловой системе.
Если вы используете Java 7 или Java 8, вам настоятельно рекомендуется использовать java.nio.file.Path
; Path.resolve
может использоваться для объединения одного пути с другим или со строкой. Вспомогательный класс Paths
также полезен. Например:
Path path = Paths.get("foo", "bar", "baz.txt");
Если вам нужно обслуживать среды до Java-7, вы можете использовать java.io.File
, например:
File baseDirectory = new File("foo");
File subDirectory = new File(baseDirectory, "bar");
File fileInDirectory = new File(subDirectory, "baz.txt");
Если вы хотите вернуть его в виде строки позже, вы можете позвонить getPath()
. Действительно, если вы действительно хотите подражать Path.Combine
, вы можете просто написать что-то вроде:
public static String combine(String path1, String path2)
{
File file1 = new File(path1);
File file2 = new File(file1, path2);
return file2.getPath();
}