0Pricing
Java Academy · Ders

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)); // true

Path 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.txt

Gö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/config

relativize: 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.txt

normalize: 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.txt

startsWith 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")); // true

File 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.txt

Farklı 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 iteration

subpath: 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/user

Hı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

  1. Path: Dosya Konumlarını Temsil Etme
  2. Files Yardımcı Sınıfı: Okuma, Yazma, Kopyalama, Taşıma
  3. Files.walk ile Dizin Ağaçlarında Gezinme
  4. WatchService: Dosya Değişikliklerini İzleme
← Java Academy Sayfasına Dön