Դաս 18.2։ Java – Ֆայլեր և IO

0

 

FileInputStream

Այս հոսքը օգտագործվում է ֆայլերից՝ տվյալների ընթերցման համար: Օբյեկտները կարող են ստեղծվել new բանալի բառի օգտագործմամբ։ Բացի այդ հասանելի են նաև մի քանի տեսակի կոնստրուկտորներ։

Հետևյալ կոնստրուկտորը ընդունում է ֆայլի անունը որպես տող՝ մուտքային հոսքի օբյեկտ ստեղծելու համար, որը կընթերցի ֆալը `

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

 

Հետևյալ կոնստրուկտորը վերցնում է ֆայլի օբյեկտը մուտքային հոսքի օբյեկտ ստեղծելու համար, որը կընթերցի ֆալը։ Առաջին հերթին մենք ստեղծում ենք ֆայլի օբյեկտ` օգտագործելով File () մեթոդը։ Ահա այսպես՝

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

InputStream f = new FileInputStream(f);

Այն բանից հետո, երբ պատրաստ է InputStream օբյեկտը, առկա են մի շարք օգնական մեթոդներ, որոնք կարող են օգտագործվել հոսքի ընթերցման կամ հոսքի հետ այլ գործողություններ կատարելու համար:

Sr.No.

Method & Description

1

public void close() throws IOException{}

Այս մեթոդը փակում է ֆայլի թողարկման հոսքը: Հեռացնում է ֆայլի հետ կապված ցանկացած համակարգային ռեսուրսներ: Նետում է IOException:

2

protected void finalize()throws IOException {}

Այս մեթոդը մաքրում է ֆայլի հետ ունեցված բոլոր կապերը: Ապահովում է, որ այս ֆայլի հոսքի close method-ը կոչվի, երբ այս հոսքում այլ հղումներ չկան: Նետում է IOException:

3

public int read(int r)throws IOException{}

Այս մեթոդը ընթերցում է InputStream-ի տվյալներից առանձնահատուկ բայթերի տվյալները: Վերադարձնում է int. Վերադարձնում է հաջորդ բայթի տվյալները, և -1, եթե դա ֆայլի վերջն է։

4

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

Այս մեթոդը ընթերցում է r.length բայթերը մուտքային հոսքից։ Վերադարձնում է կարդացած բայերի ընդհանուր թիվը: Եթե դա ֆայլի վերջն է, ապա ՝ -1։

5

public int available() throws IOException{}

Տալիս է բայթերի քանակը, որը հնարավոր է կարդալ այս ֆայլի մուտքային հոսքից: Վերադարձնում է int.

Կան նաև այլ կարևոր մուտքային հոսքեր, մանրամասների համար կարող եք այցելել հետևյալ հղումներով՝

ByteArrayInputStream

DataInputStream

FileOutputStream

 

FileOutputStream-ը օգտագործվում է ֆայլ ստեղծելու և այնտեղ տվյալներ գրելո համար: Հոսքը կստեղծի ֆայլ, եթե այն գոյություն չունի, նախքան այն թողարկելը։ Ահա երկու կոնստրուկտորներ, որոնք կարող են օգտագործվել FileOutputStream օբյեկտ ստեղծելու համար:

Հետևյալ կոնստրուկտորը ընդունում ՝ ֆայլի անունը որպես տող, որպեսզի ստեղծի ելքային հոսքի օբյեկտ,ֆայլը գրելու համար։

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

Հետևյալ կոնստրուկտորը վերցնում է ֆայլի օբյեկտը, որպեսզի ելքային հոսքի օբյեկտ ստեղծի ֆայլը գրելու համար։

Առաջին հերթին մենք ստեղծում ենք ֆայլի օբյեկտ` օգտագործելով File () մեթոդը։ Ահա այսպես՝

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

OutputStream f = new FileOutputStream(f);

Այն բանից հետո, երբ պատրաստ է OutputStream օբյեկտը, առկա են մի շարք օգնական մեթոդներ, որոնք կարող են օգտագործվել հոսքը գրելու կամ հոսքի հետ այլ գործողություններ կատարելու համար:

Sr.No.

Method & Description

1

public void close() throws IOException{}

Այս մեթոդը փակում է ֆայլի ելքային հոսքը: Հեռացնում է ֆայլի հետ կապված ցանկացած համակարգային ռեսուրսներ: Նետում է IOException:

2

protected void finalize()throws IOException {}

Այս մեթոդը մաքրում է ֆայլի հետ ունեցված բոլոր կապերը: Ապահովում է, որ այս ֆայլի հոսքի close method-ը կոչվի, երբ այս հոսքում այլ հղումներ չկան: Նետում է IOException:

3

public void write(int w)throws IOException{}

Այս մեթոդը գրում է առանձնահատուկ բայթեր ելքային հոսքում։

4

public void write(byte[] w)

Գրում է w.length բայթեր նշված array-ից ելքային հոսքում՝ OutputStream-ում։

Կան նաև այլ կարևոր մուտքային հոսքեր, մանրամասների համար կարող եք այցելել հետևյալ հղումներով՝

ByteArrayOutputStream

DataOutputStream

Հետևյալ օրինակը ներկայացնում է InputStream և OutputStream-ը

Օրինակ՝

import java.io.*;

public class fileStreamTest {

 

public static void main(String args[]) {

try {

byte bWrite [] = {11,21,3,40,5};

OutputStream os = new FileOutputStream(“test.txt”);

for(int x = 0; x < bWrite.length ; x++) {

os.write( bWrite[x] ); // writes the bytes

}

os.close();

InputStream is = new FileInputStream(“test.txt”);

int size = is.available();

 

for(int i = 0; i < size; i++) {

System.out.print((char)is.read() + ” “);

}

is.close();

} catch (IOException e) {

System.out.print(“Exception”);

}

}

}

Վերոհիշյալ կոդը կստեղծի test.txt ֆայլ և գրի կառնի տրված թվերը երկուական (բինարային) ձևաչափով:

Հարգելի ընթերցող, խնդրում ենք չմոռանալ like տալ մեր ֆեյսբուքյան էջին, քանի որ նորությունների մեծ մասը առաջինը տեղադրվում է հենց այնտեղ։ Ինչպես նաև հետևեք մեզ այլ սոցիալական ցանցերում և, իհարկե, գրանցվեք մեր բլոգում։

Share.