Path: Dosya Konumlarını Temsil Etme
Path nesneleri oluşturun, yolları çözümleyip göreli hâle getirin ve yol bileşenlerini değiştirin.
Path: Dosya Konumlarını Temsil Etme, CoddyKit'te ücretsiz bir Java Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Java Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Java Academy kursu toplamda 4 dersten oluşur.
Path API'sine Giriş
java.nio.file.Path arayüzü, dosya sistemindeki bir dosya veya dizin konumunu temsil eder. Daha kapsamlı ve platformdan bağımsız bir API sunarak eski java.io.File sınıfının yerini alır.
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)); // truePath Bileşenleri
Bir yolun bileşenlerini çıkarın:
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.txtGöreli ve Mutlak Yollar
Bir yol mutlak olabilir (kökten başlar) veya göreli olabilir (geçerli dizine göre). Denetlemek için isAbsolute(), göreli bir yolu geçerli çalışma dizinine göre çözümlemek için toAbsolutePath() kullanın.
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: Yolları Birleştirme
resolve(other) başka bir yolu ekler. other mutlaksa geçerli yolu tamamen değiştirir.
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/configrelativize: Göreli Yolları Hesaplama
relativize(other), bu yoldan other yoluna giden göreli yolu hesaplar:
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.txtnormalize: Gereksiz Bölümleri Kaldırma
normalize(), bir yoldaki . ve .. bölümlerini kaldırır:
Path messy = Path.of("/home/user/../user/./docs/./report.txt");
Path clean = messy.normalize();
System.out.println(clean); // /home/user/docs/report.txtstartsWith ve endsWith
Yollar arasındaki ön ek ve son ek ilişkilerini denetleyin:
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")); // trueFile ve URI'ye Dönüştürme
Gerektiğinde bir Path'i eski File sınıfına veya URI'ye dönüştürün:
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.txtFarklı Platformlarda Path
Path.of() platformun ayırıcısını kullanır. Windows'ta yollar ters eğik çizgi, Unix'te eğik çizgi kullanır. API bunu saydam biçimde yönetir.
// 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);Path Öğeleri Üzerinde Yineleme
Tek tek ad öğeleri üzerinde yineleme yapmak için for-each döngüsü veya iterator() kullanın:
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 iterationsubpath: Bir Dilimi Çıkarma
subpath(begin, end), ad öğelerinin belirli bir aralığı için göreli bir yol döndürür:
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/userHızlı Kontrol
Path.of("/home/user").resolve("docs/file.txt") verildiğinde sonuç nedir?
Özet: Path API'si
Temel çıkarımlar:
- Path.of() / Paths.get() Path örnekleri oluşturur
- Bileşenler için getFileName, getParent, getRoot, getName, getNameCount kullanılır
- resolve() ekler; relativize() göreli yolu hesaplar; normalize() ./ ../ bölümlerini temizler
- Ön ek ve son ek denetimleri için startsWith/endsWith
- Platformdan bağımsızdır — ayraç otomatik olarak yönetilir
Sıkça Sorulan Sorular
“Path: Dosya Konumlarını Temsil Etme” dersi ücretsiz mi?
Evet — “Path: Dosya Konumlarını Temsil Etme” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Java Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Java Academy kursu toplamda 4 dersten oluşur.
“Path: Dosya Konumlarını Temsil Etme” dersinde ne öğreneceğim?
Path nesneleri oluşturun, yolları çözümleyip göreli hâle getirin ve yol bileşenlerini değiştirin. Java Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Java Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Java Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.
“Path: Dosya Konumlarını Temsil Etme” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Java Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Java Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Path: Dosya Konumlarını Temsil Etme
- Files Yardımcı Sınıfı: Okuma, Yazma, Kopyalama, Taşıma
- Files.walk ile Dizin Ağaçlarında Gezinme
- WatchService: Dosya Değişikliklerini İzleme