Java'da dosya okuma
Programınızla aynı klasörde note.txt adlı düz bir metin dosyası hazırlayın. İçine kısa bir satır yazın: oak. Reader.java dosyasını açın, note.txt için bir File oluşturun, Scanner içine sarın, nextLine() yazdırın, sonra scanner'ı close edin. javac Reader.java ile derleyin ve java Reader çalıştırın. Ekranda oak görünmeli. İkinci demo missing.txt açar ve FileNotFoundException ile durur. Java ile yazmayı sonraki sayfaya bırakın — bu ders için note.txt dosyasını el ile editörde oluşturun.
Diskte zaten duran bir satırı okuyun
Önceki sayfalar yakaladığınız veya fırlattığınız istisnalarda durdu. Bu sayfa program bittikten sonra dosyada kalan harflere ulaşır. Reader.java adlı öğretim dosyasını açın. Dosya adıyla eşleşmesi için genel sınıf adını Reader tutun. Kalan Signal throw demolarını, Guard catch bloklarını, Alarm dizi duraklarını ve System.in üzerinden klavye nextLine okuyan her Scanner'ı silin. Program yazmayı beklememeli. Dosya okuma hâlâ Scanner kullanır, ancak kurucu File alır, klavye değil.
Üstte üç import gerekir:
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
Eksik dosyanın checked istisna olarak görünmesi için main'e throws FileNotFoundException yazın. main içinde disk dosyasını adlandırın:
File note = new File("note.txt");
Bu dosya üzerinde tarayıcı oluşturun:
Scanner scan = new Scanner(note);
İlk satırı yazdırın:
System.out.println(scan.nextLine());
Okumayı bitirin:
scan.close();
Derlemeden önce Reader.java yanında note.txt oluşturun ve ilk satıra tam oak yazın. Metin dosyasını kaydedin. Java programı bu sayfada metin dosyasını oluşturmaz.
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class Reader {
public static void main(String[] args) throws FileNotFoundException {
File note = new File("note.txt");
Scanner scan = new Scanner(note);
System.out.println(scan.nextLine());
scan.close();
}
}
Hem Reader.java hem note.txt olan klasörde javac Reader.java çalıştırın. Parantezler, süslü parantezler ve noktalı virgüller uyunca javac kendi satırını yazmaz. Sonra java Reader — java Reader.java değil. Çalıştırma komutundan .java kaldırın. javac File veya Scanner bulamazsa import satırları eksik veya yanlış — önce onları düzeltin.
Ekran oak gösterir. Tarayıcı disk dosyasından ilk satırı okudu ve yazdırdı. Program klavye girdisi için durmamalı. Terminal yazmayı bekliyorsa Scanner hâlâ System.in'e bağlı, File note değil. Kurucuyu File alacak şekilde düzeltin. empty veya IllegalArgumentException yığını görürseniz Signal kalıntısı çalışıyor — dosya okuma dosyasıyla java Reader kullanın. 2 veya blocked görürseniz eski Alarm veya Guard çalışıyor.
Başarılı yolu bir kez yürüyün. Java Reader.main'de başlar. File nesnesi note.txt adını tutar. Scanner bu adı açar. nextLine ilk satırı çeker. println oak gösterir. close tarayıcıyı bitirir. Başka bir şey yazdırılmamalı. Klasörde note.txt yoksa önce metin dosyasını oluşturun.
Burada nextLine dosyadaki sonraki satır demektir, kullanıcı istemi değil. Girdi sayfasından sonra aynı yöntem adı karışır: aynı ad, farklı kaynak. oak harfleri metin dosyasında yaşar; Java sınıfı yalnızca okur.
📊 File and Scanner roles
| Piece | What it does on this page |
|---|---|
| File | holds the disk name such as note.txt |
| Scanner | reads lines from that File with nextLine |
| close | finishes the Scanner read so the file handle is released |
Eksik ad FileNotFoundException fırlatır
İkinci program aynı biçimi korur ancak makinede olmayan bir adı gösterir: missing.txt. Bu dosyayı oluşturmayın. Çalışma FileNotFoundException ile durmalıdır.
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class Reader {
public static void main(String[] args) throws FileNotFoundException {
File note = new File("missing.txt");
Scanner scan = new Scanner(note);
System.out.println(scan.nextLine());
scan.close();
}
}
javac Reader.java ile derleyin, sonra java Reader çalıştırın. Bu kez program oak yazdırmaz. Terminal FileNotFoundException bildirir. main üzerindeki throws bu checked istisnanın burada catch olmadan çıkmasına izin verir. Daha önce catch çalıştınız; burada eksik dosya adının okumayı durdurduğunu tanımak önemli. Yazım önemlidir: FileNotFoundException. Yalnızca «hata» demek bu ders için belirsiz.
Yanlışlıkla missing.txt oluşturduysanız silin. Sessiz ekran için başarılı note.txt demosunu tercih edin. FileNotFoundException görmek için eksik ad demosunu kullanın. Tek main içinde başarı ve eksik duruşu karıştırmamak için dosyaları bilinçli değiştirin.
Bu sayfada note.txt oluşturmak için Java yazma uydurmayın. Editörde metin dosyası okuma alıştırması için yeterli. Sonraki sayfa Java ile yazmadır. Bu sayfa net okuma ve net eksik duruş tutar.
Signal üzerinde throw ile karşılaştırma
Throw sayfasında java Signal, kaplar boşken IllegalArgumentException ile dururdu. Burada eksik dosya duruşu FileNotFoundException, başarılı yol diskten satır yazdırır. Signal dosyalarını tarih olarak tutun; dosya demoları için java Reader çalıştırın.
Sarmalayıcılar, diziler ve catch tarih kalır. Bugünkü yeni belirteçler File, dosyada Scanner, diskten nextLine ve FileNotFoundException.
Bu sayfa yazma için ne bırakır
Bu sayfa yalnızca var olan dosyayı okur veya ad eksikse durur. Sonraki sayfa Java ile dosyaya harf yazmayı gösterir. Burada oak okuma ve FileNotFoundException adlandırma ile kalın. Reader demolarına henüz zorunlu yazma çağrısı eklemeyin.
Dosya yazmadan önce
Scanner ile note.txt okuyup oak görebilirsiniz. missing.txt açıp FileNotFoundException görebilirsiniz. Reader.java derleyin ve her demo için sırayla java Reader çalıştırın. Sınıf dosyası yanında note.txt el ile oluşturun. Sonraki sayfa yazmadır, program metni kendisi saklar.
Başarılı okumayı sessiz ekran için, eksik demoyu duruşu görmek için, Java yazmayı bu sayfadan uzak tutun. note.txt varken java Reader sonrası oak görünürse okuma bu dersin işini bitirdi ve yazmaya hazırsınız.
🧠 Bilginizi Test Edin
Bilginizi Test Edin
Bu interaktif sınavla kendini test et ve konuyu ne kadar iyi anladığını gör
📝 Talimatlar
- Her soruyu dikkatle okuyun
- Her soru için en iyi cevabı seçin
- Quiz'i istediğiniz kadar tekrar alabilirsiniz
- İlerlemeniz üstte gösterilecek