Java’da yeni bir dosya oluşturmak zor bir şey değildir. Bu makale, yeni başlayanların yeni bir dosya oluşturmayı ve daha sonra Java’ya yazmayı öğrenmelerine yardımcı olmak içindir.
Öncelikle Java’da yeni dosyalar oluşturmayı öğrenelim.
Bunu yapmanın birkaç yolu vardır. Bu makalede, dosya oluşturmanın üç yolunu ortaya çıkaracağız. İşte başlıyoruz.
java.io.File class ile Dosya Oluşturma
File nesnesini başlattığınızda, dosya adını sağlarsınız ve bu ada sahip bir dosya henüz bulunmuyorsa, atomik olarak soyut pathadi, adıyla yeni, boş bir dosya oluşturan createNewFile() yöntemini çağırırsınız.
Adlandırılmış dosya yoksa ve başarıyla oluşturulduysa bu yöntem true değerini döndürür. Ve dosya varsa false değerini döndürür. Ayrıca, dosyayı oluşturamadığında java.io.IOException durumunu da atar. Oluşturulan dosya boş ve sıfır bayt var.
Bu yöntem dosya kilitleme için kullanılmamalıdır, çünkü ortaya çıkan protokol güvenilir bir şekilde çalışamaz.
Bu yöntemin yalnızca bir dosya oluşturacağını, ancak ona herhangi bir içerik yazmayacağını unutmayın.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | import java.io.File; import java.io.IOException; public class JavaOrnekleri { public static void main(String []args) { try { // Dosya kontrol File f = new File("D:\\tasarimkodlama.txt"); // Yeni Dosya Oluştur // Dosyanın olup olmadığını kontrol edio oluştur. if (f.createNewFile()) System.out.println("Dosya Oluşturuldu"); else System.out.println("Dosya Zaten var!"); } catch (IOException e) { System.err.println(e); } } } |
Programı derleyip çalıştırdığınızda, aşağıdaki sonuç elde edilir:
1 2 3 | Dosya Oluşturuldu |
java.io.FileOutputStream class Kullanarak Dosya Oluşturma
Yeni bir dosya oluşturmak ve aynı zamanda içine bazı veriler yazmak istiyorsanız, FileOutputStream.write yöntemini kullanabilirsiniz. Bu yöntem otomatik olarak yeni bir dosya oluşturur ve üzerine bazı içerikler yazar.
FileOutputStream yöntemi, görüntü verileri gibi ham bayt akışlarını yazmak için kullanılır. Karakter odaklı veri yazmak istiyorsanız, FileWriter’ı kullanmak daha iyidir.
Kullanıldığını görmek için basit bir kod bulun:
Örnek:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | import java.io.FileOutputStream; import java.io.IOException; public class JavaOrnekleri { public static void main(String []args) throws IOException { String fileData = "Merhaba Tasarım Kodlama \rMerhaba Dünya"; FileOutputStream fos = new FileOutputStream("E:\\dosya.txt"); fos.write(fileData.getBytes()); fos.flush(); fos.close(); } } |
Dosya kaydedilip derlendiğinde her hangi bir çıktı oluşmaz ancak dosya oluşturulup fileDate değişkeni içindeki değerler dosyaya kaydedilir.
Java NIO Files.write() ile Dosya Oluşturma
Yeni bir dosya oluşturmak için Java NIO Files sınıfını kullanın ve içine bazı veriler yazın. Bu Java sınıfı, baytları belirtilen yolda bir dosyaya yazan write(Path path, byte [] bytes, OpenOption… options) yöntemi sağlar.
Files sınıfını kullanarak dosya ve dizin oluşturmak, taşımak, kopyalamak, silmek mümkündür. Ayrıca bir dosyayı okumak ve yazmak için de kullanılabilir.
IO kaynaklarını kapatma konusunda endişelenmeyeceğiniz için Files.write() bir dosya oluşturmak için tercih edilen bir yoldur.
Bu sınıf aşağıdaki parametrelere sahiptir:
- lines– Karakter dizileri üzerinde yinelenecek bir nesne. Bir dosyaya metin satırları yazın. Her satır bir karakter dizisidir ve her satır platformun satır ayırıcısı tarafından sonlandırılarak dosyaya yazılır.
- options – Bu parametre dosyanın nasıl oluşturulacağını veya açılacağını belirtir. Hiçbir seçenek belirtilmezse, varsayılan olarak CREATE, TRUNCATE_EXISTING ve WRITE seçeneklerini dikkate alır. Bu, dosyayı yazmak için açar ve dosya yoksa oluşturur veya varolan dosyayı 0 boyutuna indirir.
- path– Çizginin yolunu belirtir.
- cs – Kodlama için kullanılacak karakter kümesi.
Bayt dizisindeki tüm baytlar dosyaya yazılır. Bu yöntem, tüm baytlar yazıldığında dosyanın kapatılmasını sağlar ve yazılı dosyanın yolunu döndürür.
Örnek:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.util.Scanner; public class JavaOrnekleri { public static void main(String []args) throws IOException { Path path = Paths.get("E:/ornek.txt"); try { String str = "Yazılacak bazı veriler"; byte[] bs = str.getBytes(); Path writtenFilePath = Files.write(path, bs); System.out.println("Veri dosyaya yazıldı:\n"+ new String(Files.readAllBytes(writtenFilePath))); } catch (Exception e) { e.printStackTrace(); } } } |
Yorum Yap