Java-da DataOutputStream


DataOutputStream fayl JavaBaxılıb 35

Java DataOutputStream nədir

Java-dakı DataOutputStream sinfi bir məlumat axınına ibtidai məlumat növü dəyərləri yazmağımızı təmin edir. Bu əməliyyat maşından asılıdır və portativdir. DataOutputStream-in arqumenti olan FileOutputStream kimi istənilən çıxış axını sinifindən istifadə edə bilərik konstruktor.

DataOutputStream dos = new DataOutputStream(OutputStream out);

Java-da DataOutputStreamPin

Java DataOutputStream sinif metodları

Aşağıda DataOutputStream sinifinin dəstəklədiyi metodlar verilmişdir.

metodikatəsvir
boşluq yaxın ()Çıxış axını bağlayır
boş boşluq ()Çıxış axınındakı məlumatları yuyur və hər hansı bir tamponlanmış məlumatı fayla yazmağa məcbur edir
int ölçüsü ()Çıxış axınındakı cari bayt sayını qaytarır
boş yaz (bayt [] b)B massivindəki bütün baytları çıxış axınına yazır
boş yaz (int b)Göstərilən baytı çıxış axınına yazır
boş yaz (bayt [] b, int off, int len)Ofset mövqeyindən başlayaraq göstərilən uzunluqdakı bayt massivini yazır
ləğv yazmaq Boolean (boolean b)Göstərilən boole dəyərini çıxış axınına yazır
etibarsız writeByte (int b)Göstərilən baytı çıxış axınına yazır
etibarsız writeBytes (String s)Göstərilən bayt sətrini çıxış axınına yazır
etibarsız writeChar (char c)Göstərilən simvolu çıxış axınına yazır
etibarsız writeChars (String s)Göstərilən simvol simvolunu çıxış axınına yazır
writeDouble (cüt d)Göstərilən ikiqat dəyəri çıxış axınına yazır
writeFloat (float f)Göstərilən float dəyərini çıxış axınına yazır
writeInt (int i)Göstərilən tam ədədi dəyəri çıxış axınına yazır
writeLong (uzun l)Göstərilən uzun dəyəri çıxış axınına yazır
writeShort (qısa)Göstərilən qısa dəyəri çıxış axınına yazır
etibarsız writeUFT (String s)Göstərilən sətri unikod simvolu şəklində çıxış axınına yazır
OutputStream nullOutputStream ()Bütün baytları ataraq yeni bir OutputStream qaytarır

Java DataOutputStream Nümunəsi

Aşağıda müxtəlif Java DataOutputStream sinif metodlarının tətbiqini göstərmək üçün bir nümunə verilmişdir. Fərqli məlumat tiplərinin dəyərlərini yazmaq üçün ayrıca metodlar mövcuddur. Məsələn: tam ədədi yazmaq üçün writeInt, bir simvol üçün writeChar, ikiqat üçün writeDouble, float üçün writeFloat, boolean üçün writeBoolean, Unicode formatında bir simli üçün writeUFT, uzun rəqəmlər yazmaq üçün LongLayt, Byte dəyərləri üçün writeByte, bir simvol yazmaq üçün yazın simli və s.

Size () metodu fayldakı bayt sayını alır.

Ayrıca, DataOutputStream-i bağlamaq üçün close () metodundan istifadə etdikdə, avtomatik olaraq daxili daxili axını (FileOutputStream) bağlayır. Buna görə açıq şəkildə bağlamağımıza ehtiyac yoxdur.

import java.io.*;

public class WriteFile {

  public static void main(String[] args) throws IOException {
    FileOutputStream fo = new FileOutputStream("OutputFile.txt");
    DataOutputStream dos = new DataOutputStream(fo);
    
    String text = "This is an example of DataOutputStream";
    byte[] b = text.getBytes();
    int i = 100;
    double d = 123.45;
    float f = 45.5f;
    boolean bl = true;
    
    dos.writeUTF("Write Unicode");
    dos.writeInt(i);
    dos.writeChars("Write character");
    dos.writeByte(75);
    dos.writeLong(999999);
    dos.writeBoolean(bl);
    dos.writeFloat(f);
    dos.writeDouble(d);
    dos.writeChar('d');
    
    System.out.println("Number of bytes written: " + dos.size());
    System.out.println("Success");
    
    dos.close();
  }

}
Number of bytes written: 73
Success

Verilənləri müvafiq olaraq yazmaq və oxumaq üçün adətən həm DataOutputStream, həm də DataInputStreamdən istifadə edirik. Çıxış axınına böyük bayt məlumat yazmaq istədiyimiz zaman DataOutputStream sinifindən istifadə edirik və düzgün qaydada yenidən oxumağı təmin edə bilərik.

Aşağıdakı nümunədə Java DataOutputStream istifadə edərək necə yazacağımızı və müvafiq olaraq DataInputStream istifadə edərək tam ədədi, UFT və simvol dəyərlərini oxuya bilərik.

import java.io.*;

public class WriteFile {

  public static void main(String[] args) throws IOException {
    FileOutputStream fo = new FileOutputStream("OutputFile.txt");
    DataOutputStream dos = new DataOutputStream(fo);
    
    dos.writeInt(60);
    dos.writeUTF("Welcome");
    dos.writeChar('c');
    System.out.println("Number of bytes written: " + dos.size());
    
    FileInputStream fi = new FileInputStream("OutputFile.txt");
    DataInputStream di = new DataInputStream(fi);
    
    System.out.println(di.readInt());
    System.out.println(di.readUTF());
    System.out.println(di.readChar());
    
    System.out.println("Success");
    
    dos.close();
  }

}
Number of bytes written: 15
60
Welcome
c
Success

 

arayış

Şərh yaz

Translate »
1