import java.nio.file.Path;

public class MemanipulasiPath {
    public static void main(String[] args) {
        Path dasar = Path.of("proyek", "src");

        System.out.println("resolve relatif : " + dasar.resolve("Aplikasi.java"));
        System.out.println("resolve absolut : " + dasar.resolve(Path.of("/etc")));
        System.out.println("resolveSibling  : " + dasar.resolveSibling("test"));

        Path berantakan = Path.of("proyek", "src", "..", "doc", "readme.md");
        System.out.println("sebelum         : " + berantakan);
        System.out.println("normalize       : " + berantakan.normalize());

        Path target = Path.of("proyek", "doc", "readme.md");
        System.out.println("relativize      : " + dasar.relativize(target));

        Path relatif = Path.of("data", "daftar.txt");
        Path absolut = relatif.toAbsolutePath();
        System.out.println("toAbsolutePath isAbsolute  : " + absolut.isAbsolute());
        System.out.println("absolut endsWith daftar.txt: " + absolut.endsWith("daftar.txt"));

        Path denganTitik = Path.of("a", ".", "b");
        System.out.println("normalize titik : '" + denganTitik.normalize() + "'");
    }
}
