Path ve Files (NIO.2)
- Java kursu
- Uzman
- Ders 17/46
- 5 dk
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
// Paths.get ile yol oluştur
// getNameCount ile yazdırÖrnek çözüm
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
Path p = Paths.____("kayit", "veri.txt");
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.