RandomAccessFile

Şimdiye kadar ki kullandığımız streamlar read-only veya write-only streamlardı.Bunlar sequential(ardışık) stream olarak bilinir,ve bu streamleri kullanarak açtığımız dosyalara ise sequential-access file denir. RandomAccessFile sınıfı DataInput ve DataOutput arayüzlerini uygular.Bu sayede read ve write işlemlerini tek bir nesne ile yapabiliriz,ayrıca dosyadaki verilere istediğimiz kısımdan erişebiliriz. Bir RandomAcessFile nesnesi oluştururken seçebileceğimiz iki mod var.Bunlar “r” veya “rw”.”r” […]

Serialization & Deserialization

Bir nesnenin dosyaya yazılabilmesi için serializable olması gerekir,bunun için de ait olduğu sınıfın java.io.Serializable interface’ni implement etmesi gerekir. Serializable bir sınıfta non-serializable nesneler olabilir,JVM’nin bu nesneleri görmezden gelmesi için transient anahtar kelimesini kullanılır,aksi halde NotSerializableException hatası alınır.Ayrıca static yapılar sınıfa ait olmağı için serializable bir sınıfın içinde olsalar bile serializable değildirler. public class C implements java.io.Serializable { […]

Object I/O

ObjectInputStream/ObjectOutputStream sınıfları serializable nesneleri okuma/yazma’da kullanılır. DataInputStream/DataOutputStream sınıfları I/O işlemlerini primitive tip ve Stringler için yaparken,ObjectInputStream/ObjectOutputStream sınıfları ek olarak nesneler için de yapar.ObjectInputStream/ObjectOutputStream sınıfları DataInputStream/DataOutputStream sınıfındaki tüm metodları içerir.   ObjectInputStream sınıfı InputStream sınıfından kalıtılmıştır(extends) ve ObjectInput ve  ObjectStreamConstants interfacelerini implement eder.Aynı şekilde ObjectOutputStream sınıfı OutputStream sınıfından kalıtılmıştır ve ObjectOutput ve ObjectStreamConstants interfecalerini uygular. import java.io.*; public class […]

Stream

Stream sınıflar : InputStream FileInputStream OutputStream FileOutputStream BufferedInputStream BufferedOutputStream OutputStreamWriter InputStreamReader FileInputStream & FileOutputStream Önceki Writer/Reader sınıfları karakter bazlıydı,Stream sınıfları ise byte bazlıdır.Daha önce String veya char dizisini dosyaya yazmıştık,bu sınıflarla bir byte dizisini yazacağız. OutputStream ve InputStream abstract sınıflardır,File I/O işlemlerinde FileInputStream ve FileOutputStream sınıfları kullanılır. FileOutputStream IS-A OutputStream ve FileInputStream IS-A InputStream’dır. import java.io.*; […]

PrintWriter

PrintWriter sınıfı File objesi kullanmadan dosya oluşturmamızı sağlar,istenirse File objesi ile de kullanılabilir.Örneğin; import java.io.File; import java.io.IOException; import java.io.PrintWriter; public class PrintWriterTest { public static void main(String args[]) throws IOException{ // File objesi olmadan dosya oluşturma. PrintWriter pw = new PrintWriter(“print.txt”); pw.write(“www.mericberber.com”); pw.write(“\n”); pw.write(“PrintWriterTest”,3,5); pw.close(); //File objesi kullanarak dosya oluşturma. File file = new File(“print2.txt”); […]