0Pricing
Java Academy · Pelajaran

Path: Merepresentasikan Lokasi File

Buat objek Path, selesaikan dan ubah path menjadi relatif, lalu manipulasi komponennya.

Path: Merepresentasikan Lokasi File adalah pelajaran Java Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Java Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Java Academy mencakup 4 pelajaran total.

Pengantar Jalur

Antarmuka java.nio.file.Path merepresentasikan lokasi berkas atau direktori dalam sistem berkas. Antarmuka ini menggantikan kelas java.io.File lama dengan API yang lebih kaya dan tidak bergantung pada platform.

import java.nio.file.*;

Path p1 = Path.of("/home/user/documents/report.txt");
Path p2 = Paths.get("/home", "user", "documents", "report.txt");

System.out.println(p1); // /home/user/documents/report.txt
System.out.println(p1.equals(p2)); // true

Komponen Jalur

Ekstrak komponen jalur:

Path path = Path.of("/home/user/docs/report.txt");

System.out.println(path.getFileName()); // report.txt
System.out.println(path.getParent());   // /home/user/docs
System.out.println(path.getRoot());     // /
System.out.println(path.getNameCount()); // 4
System.out.println(path.getName(0));    // home
System.out.println(path.getName(3));    // report.txt

Jalur Relatif vs Absolut

Jalur dapat bersifat absolut (dimulai dari akar) atau relatif (dimulai dari direktori saat ini). Gunakan isAbsolute() untuk memeriksanya dan toAbsolutePath() untuk menyelesaikan jalur relatif berdasarkan direktori kerja saat ini.

Path rel = Path.of("docs/report.txt");
Path abs = Path.of("/home/user/docs/report.txt");

System.out.println(rel.isAbsolute()); // false
System.out.println(abs.isAbsolute()); // true

Path resolved = rel.toAbsolutePath(); // resolves against CWD
System.out.println(resolved);

resolve: Menggabungkan Jalur

resolve(other) menambahkan jalur lain. Jika other bersifat absolut, jalur tersebut sepenuhnya menggantikan jalur saat ini.

Path base = Path.of("/home/user");
Path docs = base.resolve("documents");
Path file = docs.resolve("report.txt");

System.out.println(file); // /home/user/documents/report.txt

// Resolving an absolute path replaces:
Path abs = base.resolve(Path.of("/etc/config"));
System.out.println(abs); // /etc/config

relativize: Menghitung Jalur Relatif

relativize(other) menghitung jalur relatif dari jalur ini ke other:

Path from = Path.of("/home/user");
Path to   = Path.of("/home/user/docs/report.txt");

Path rel = from.relativize(to);
System.out.println(rel); // docs/report.txt

// Verify:
System.out.println(from.resolve(rel)); // /home/user/docs/report.txt

normalize: Menghapus Redundansi

normalize() menghapus segmen . dan .. dari suatu jalur:

Path messy = Path.of("/home/user/../user/./docs/./report.txt");
Path clean = messy.normalize();
System.out.println(clean); // /home/user/docs/report.txt

startsWith dan endsWith

Periksa hubungan awalan dan akhiran antara jalur:

Path p = Path.of("/home/user/docs/report.txt");

System.out.println(p.startsWith("/home/user")); // true
System.out.println(p.startsWith("/home/other")); // false
System.out.println(p.endsWith("report.txt"));    // true
System.out.println(p.endsWith("docs/report.txt")); // true

Mengonversi ke Berkas dan URI

Konversikan Path ke kelas Berkas lama atau URI jika diperlukan:

Path path = Path.of("/home/user/report.txt");

java.io.File file = path.toFile();
System.out.println(file.exists()); // depends on filesystem

java.net.URI uri = path.toUri();
System.out.println(uri); // file:///home/user/report.txt

Jalur pada Platform Berbeda

Path.of() menggunakan pemisah milik platform. Di Windows, jalur menggunakan garis miring terbalik; di Unix, jalur menggunakan garis miring. API menangani perbedaan ini secara transparan.

// Portable path construction (works on all platforms):
Path config = Path.of("config", "app", "settings.json");
// On Unix: config/app/settings.json
// On Windows: config\app\settings.json
System.out.println(config);

Melakukan Iterasi pada Elemen Jalur

Gunakan perulangan for-each atau iterator() untuk melakukan iterasi pada setiap elemen nama:

Path path = Path.of("/home/user/docs/report.txt");

for (Path element : path) {
    System.out.println(element); // home, user, docs, report.txt
}
// Note: root ("/") is not included in iteration

subpath: Mengekstrak Potongan

subpath(begin, end) mengembalikan jalur relatif untuk rentang elemen nama:

Path p = Path.of("/home/user/docs/report.txt");
// Indices: home=0, user=1, docs=2, report.txt=3

System.out.println(p.subpath(1, 3)); // user/docs
System.out.println(p.subpath(0, 2)); // home/user

Pemeriksaan Singkat

Diberikan Path.of("/home/user").resolve("docs/file.txt"), apa hasilnya?

Ringkasan: API Jalur

Pokok-pokok penting:

  • Path.of() / Paths.get() membuat instans Path
  • getFileName, getParent, getRoot, getName, getNameCount untuk mengambil komponen
  • resolve() menambahkan; relativize() menghitung jalur relatif; normalize() membersihkan ./ ../
  • startsWith/endsWith untuk memeriksa awalan/akhiran
  • Tidak bergantung pada platform — pemisah ditangani secara otomatis

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Path: Merepresentasikan Lokasi File” gratis?

Ya — teks lengkap “Path: Merepresentasikan Lokasi File” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Java Academy, upgrade ke CoddyKit PRO. Kursus Java Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Path: Merepresentasikan Lokasi File”?

Buat objek Path, selesaikan dan ubah path menjadi relatif, lalu manipulasi komponennya. Kamu berlatih Java Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Java Academy?

Tidak diperlukan pengalaman sebelumnya. Java Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.

Berapa lama pelajaran “Path: Merepresentasikan Lokasi File” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Java Academy ini?

Ya. Setiap pelajaran Java Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Path: Merepresentasikan Lokasi File
  2. Utilitas Files: Membaca, Menulis, Menyalin, Memindahkan
  3. Menelusuri Pohon Direktori dengan Files.walk
  4. WatchService: Memantau Perubahan File
← Kembali ke Java Academy