Menü Kapat

Java.io paketi Javda giriş və çıxış (İnput/Output) əməliyyatlarını yerinə yetirmək üçün lazım olan hər bir sinifi əhatə edir. Javada giriş çıxış işləmləri Stream ilə aparılır. Bütün bu Stream’lər giriş mənbəyini və çıxış təyinatını təqdim edir. Java.io paketindəki stream primitivləri,obyektləri,lokallaşdırılmış simvolları və s kimi bir çox məlumatları dəstəkləyir.

Stream

Stream bir ardıcıllıq kimi təyin edilə bilər.Stream-in 2 növü var:

İnPutStream-bir mənbədən məlumat oxumaq üçün göndərilir.

OutPutStream-bir təyinata məlumat yazmaq üçün istifadə olunur.

Java I/O(InPut/OutPut) əlaqəli faylları və şəbəkələri üçün güclü lakin cevik dəstəyi təmin edir. Lakin bu təlim Stream və İ/O(İnPut/OutPut) ilə bağlı çox əsas funksiyaları əhatə edir. Ən çox istifadə edilən Stream’lar aşağıdakılardır:

Byte Streams

Java Byte Stream’lari 8 bit baytların giriş və çıxışını yerinə yetirmək üçün istifadə olunur.Byte Stream’lərinə aid bir çox sinif olsa da,ən çox istifadə olunanlar FileInPutStream  FileOutPutStream lardır.

Character Streams

Java Byte Stream’lari 8 bit baytların giriş və çıxışını istifadə etmək üçün istifadə olunur,halbuku Java Character Stream’ləri 16 bit unicode üçün giriş və çıxışı təmin edir. Character Stream’lərinə aid bir çox sinif olsa da,ən çox istifadə edilənlər FileReader və FileWriter olur. Daxili FileReader FileInPutStream istifadə edir vəFileWriter FileOutPutStream istifadə edir,lakin burada əsas fərq FileReader bir anda 2 bayt oxuyur və FileWriter ise bir anda 2 bayt yazır.

Standart Streams

Java aşağıdakı 3 standart stream’ı təmin edir:

Standart Input (Standart giriş)-Bu,məlumatı istifadəçi proqramına çatdırmaq üçün istifadə olunur və adətən klavyatura standar giriş axını kimi istifadə olunur və System.in kimi təqdim olunur.

Standart Output (Standar çıxış)-Bu, istifadəçi proqramı tərəfindən verilən məlumatları çıxartmaq üçün istifadə olunur və adətən standart bir çıxış axını üçün istifadə edilən və Computer.out kimi təqdim olunur.

Standart Error-Bu,istifadəçi proqramı tərəfindən hazırlanan səhv məlumatları çıxartmaq üçün istifadə olunur və adətən standart bir səhv stream üçün Computer.err kimi təqdim olunur.

Faylları oxumaq və yazmaq

Daha əvvəl təsvir edildiyi kimi bir stream(axın) bir ardıcıllıq kimi təyin edilə bilər. InputStream bir mənbədən məlumatları oxumaq üçün istifadə olunur və OutputStream bir təyinata məlumat yazmaq üçün istifadə olunur.

Aşağıda giriş və çıxış stream(axin)ları təsvir olunmuş cədvələ baxaq:

İki əhəmiyyətli stream’ləri- FileInputStreamFileOutputStream müzakirə edəcəyik.

                      FileInputStream

Bu stream fayllardan məlumat oxumaq üçün istifadə olunur. Obyektlər yeni söz istifadə edərək yaradıla bilər.Faylı oxumaq üçün bir giriş stream obyekti yaratmaq üçün bir fayl ad alır.

İnputStream f = new FileInputStream(“C:/java/hello”)

Daha sonra faylı oxumaq üçün bir giriş stream obyekti yaratmaq üçün bir fayl obyekti alır. Birici,File() methodunu aşağıdakı kimi istifadə edərək bir fayl obyekti yaradırıq.

File f = new File(“C:/java/hello”);

InputStream f = new FileInputStream(f);

Əlimizdə InputStream obyekti olduqda,dərhal oxumaq və əməliyyatlarda istifadə etmək üçün istifadə edilə bilən köməkçi methodların siyahısı var. Onlar aşağıdakılardır:

1.public void close() throw IOExcetion{}

Bu method file çıxış axınını bağlayır(file output stream). Bu method xaricdə daha çox istinad edilmədikdə bu faylın çıxış axınının yaxın methodunun çağırılmasını təmin edir. Bir lOException xətası atır.

2.protected void finalize() throws IOException{}

Bu üsul faylı keçiddən təmizləyir

3.public int read (int r) throws IOExcetion{}

Bu method InputStream-dan müəyyən edilmiş bayt məlumatları oxuyur. Bir int qaytarır.

4.public int read(byte[ ] r) throws IOException{}

Bu method giriş axınından bir r.length bayt oxuyur. Oxunan baytın ümumi sayını qaytarır.

5.public int available() throws IOException{}

Bu fayl giriş axınından oxuya bilən bayt sayını verir. Bir int qaytarır.

Mövcud digər əsas giriş streamları(axınlari) vardır:

ByteArrayInputStream- sinifi yaddaşda bir İnputStream istifadə etmək üçün bufer verir. ByteArrayInputStream sinifi aşağıdakı konstruktorları əhahət edir:

1.ByteArrayInputStream(byte [ ] a)-bu konstruktor bir parametr kimi bir bayt arrayini qəbul edir.

2. ByteArrayInputStream(byte [ ] a,int off,int len)

DataInputStream-DataoutputStream konteksində istifadə olunur və primitivləri oxumaq üçün istifadə edilir.

                   FileOutputStream

Bu stream(axın) bir fayl yaratmaq və ona məlumat yazmaq üçün istifadə olunur.Aşağıdakı konstruktor,fayl yazmaq üçün bir fayl adı alır:

OutputStream f = new FileOutputStream(“C:/java/hello”)

Bu fayl yazmaq üçün bir çıxış axını obyekti yaratmaq üçün bir fayl obyekti alır. Birinci File() methodunu istifadə edərək bir fayl obyektini aşağıdakı kimi yaradırıq :

File f = new File(“C:/java/hello”);

OutputStream f = new FileOutputStream(f);

Əlimizdə OutputStream obyekti olduqda dərhal yazmaq və digər əməliyyatlatı yerinə yetirmək üçün istifadə edilə bilən köməkçi methodların siyahısı var:

1.public void close() throws IOException{}-fayl çıxışı axını bağlayan method

2.protected void finalize() throws IOException{}-faylı keçiddən təmizləyir

3.public void writer(int w) throws IOException{}-müəyyən edilmiş baytı çıxış axınına yazır.

4.public void write(byte[ ] w)-OutputStream e w.length baytı oxuyur.

Bunlardan əlavə java proqramlaşdırma dilində faylları yazmaq və oxumaq üçün aşağıdakı stream’lərə nəzər salaq:

BufferedReader – fayldan oxumaq üçün;

BufferedWriter – fayla yazmaq üçün;

BufferedlnputStream – fayl oxumaq üçün;

BufferedOutputStream – fayla yazmaq üçün;

Bəzi methodlara baxaq:

GetName-methodu faylın adini öyrənmək üçün;

GetAbsolutePath-methodu ilə faylın yolunu öyrənmək üçün;

Delete- methodu ilə faylı silmə;

MKDIR- methodu ilə qovluq yaratma;

RENAMETO- metodu ilə faylın adını dəyişdirmək;

CanRead və CanWrite- yazma və oxuma kontrolu;