CodeBlanks Logo Icon CodeBlanks

Path ve Files (NIO.2)

NIO.2 Path ve Files API'sini öğrenirsin.

Path ve Paths

NIO.2 ile dosya yolları Path nesnesi olarak temsil edilir. Paths.get("kayit", "veri.txt") parçaları birleştirip bir Path döndürür; işletim sistemine göre ayraç otomatik seçilir.

Bir Path üzerinde birçok bilgi alınır: getNameCount yol öğelerinin sayısını, getFileName son öğeyi, getParent üst yolu verir. Eski File sınıfından farkı, yolun yalnızca bir adres olması; gerçek dosya işlemi Files sınıfı üzerinden yapılır. Bu ayrım, yolu ve işlemi birbirinden ayırır.

Files sınıfı

Files sınıfı, bir Path üzerinde işlem yapar. Yöntemlerin çoğu statiktir; Files.exists(p) varlığı, Files.size(p) boyutu, Files.readAllBytes(p) içeriği bayt olarak verir.

Örnek: Files.exists(Paths.get("log.txt")) dosya varsa true döner. Files.createFile(p) yeni bir dosya oluşturur. Bu yöntemler IOException fırlatabilir; bu yüzden throws ya da try-catch gerekir. Path yalnızca adresi tutarken, Files gerçek disk işlemine karşılık gelir.

Uygulama Yol öğe sayısını yazdır

Paths.get("kayit", "veri.txt") ile bir Path oluştur. getNameCount sonucunu System.out.println ile yazdır.

Başlangıç kodu

Main.java
// Paths.get ile yol oluştur
// getNameCount ile yazdır

Örnek çözüm

Main.java
import java.nio.file.Path;
import java.nio.file.Paths;

public class PathDemo {
    public static void main(String[] args) {
        Path p = Paths.get("kayit", "veri.txt");
        System.out.println(p.getNameCount());
    }
}

Beklenen çıktı

2

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Path kavramlarını eşleştir

Kavram Anlamı
Paths.get Yol oluşturur
Path Yol soyutu
getNameCount Öğe sayısı
getFileName Son öğe

2 Paths.get çağrısını tamamla

Soru
Path p = Paths.____("kayit", "veri.txt");
Cevap
Path p = Paths.get("kayit", "veri.txt");

Açıklama: Paths.get yol parçalarını birleştirir.

3 Paths.get(...) ne döndürür?

  • Bir String
  • Bir Path Doğru cevap
  • Bir Channel
  • Bir ByteBuffer

Açıklama: Paths.get bir Path nesnesi döndürür.

Uzman bölümündeki tüm dersler