Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

15-Lekciya

.pdf
Скачиваний:
0
Добавлен:
28.11.2023
Размер:
678.33 Кб
Скачать

Potoklar menen jumıs islep bolǵannan soń ádette olardı jabıw kerek boladı. Bul maqsette Closeable interfeysinde anıqlanǵan close() metodı isletiledi. Metod tómendegishe kóriniske iye:

void close() throws IOException

Bul interfeys potoklar menen islewshi barlıq klasslarda realizaciya qılınadı. Potoktı jabıw waqtında oǵan ajıratılǵan resurslardan azat etiledi, máselen fayllardan. Al eger potok jabılmay qalsa, yad tolıp ketiwi yamasa qátelik júz beriwi múmkin.

Potoktı jabıw ushın Javada ádette try catch finally bloki paydalanılatuǵın edi. Java 7 den baslap jáne bir qolay usılı payda boldı. Bul try-with-resources konstruktorı bolıp, ol avtomat túrde close() metodın shaqıradı. Joqarıda keltirilgen mısallarda usı konstruktordan paydalanıldı.

</TITUNF></PI></PROGRAMMALASTIRIW I></A.B.ORINBAEV>

BufferedWriter hám BufferedReader klassları

BufferedWriter klası potokqa jazıp alınǵan tekstti buferizaciya qıladı. Bul klastan paydalanıw fizikalıq qurılmaǵa bolǵan múrajatlardı azaytadı. Nátiyjede programma islewi tezlesiwi múmkin.

Bul klastıń obyektin jaratıwda tómendegishe konstruktorlardan paydalanıw múmkin.

Konstruktorlar

 

Wazıypası

BufferedWriter(Writer out)

Writer obyekti arqalı jaratıladı. Bunda out

 

 

jazıwshı potok

BufferedWriter(Writer

out,

int Writer obyekti hám size ózgeriwshi arqalı

size)

 

jaratıladı. Bunda out jazıwshı potok, al size

 

 

bufer ólshemi

Joqarıda FileWriter de kórsetilgen mısaldı BufferedWriter den paydalanıp isleyik. Programma kodı tómendegishe boladı.

</TITUNF></PI></PROGRAMMALASTIRIW I></A.B.ORINBAEV>

import java.io.*; public class Program {

public static void main(String[] args) {

try(BufferedWriter bw = new BufferedWriter(new FileWriter("test.txt")))

{

String text = "Qandayda bir tekst…"; bw.write(text);

}

catch(IOException ex){

System.out.println(ex.getMessage());

}

}

}

Bunda BufferedWriter bw = new BufferedWriter() arqalı taza obyekt jaratıp, jazılǵan potoktı buferge ótkeriw ushın qollanılsa, new FileWriter("test.txt") bolsa jazıwshı potok ushın qollanıladı. bw.write() metodı kórsetilgen faylǵa jazıwshı metod. Programmanıń qalǵan bólegi joqarıda aytıldı.

</TITUNF></PI></PROGRAMMALASTIRIW I></A.B.ORINBAEV>

BufferedReader klası simvollar potokındaǵı tekstti buferizaciya qıladı. Bul klasstan paydalanıw, programma ónimdarlıǵın arttıradı. BufferedReader klasında tómendegi konstruktorlar bar.

Konstruktorlar

 

Wazıypası

BufferedReader(Reader in)

Reader obyekti arqalı jaratıladı. Bunda in

 

 

oqıtıw potoki

BufferedReader(Reader

in,

int Reader obyekti hám size ózgeriwshi arqalı

size)

 

jaratıladı. Bunda in oqıtıw potoki, al size

 

 

bufer ólshemi

BufferedReader Reader klası miyrasxorı bolǵanlıqtan, usı Reader klasındaǵı barlıq metodlar isleydi. Bunnan tısqarı BufferedReader klasında óziniń readLine() metodı bolıp, bul potoktan maǵlıwmatlardı qatarma-qatar oqıydı.

BufferedReader klasın joqarıda kórsetilgen FileReader klasında kórsetilgen mısaldaǵıday etip islewge boladı. Bunnan ózgeshe qılıp qatarma-qatar oqıtıwdı kóreyik. Programma kodı tómendegishe boladı.

</TITUNF></PI></PROGRAMMALASTIRIW I></A.B.ORINBAEV>

import java.io.*; public class Program {

public static void main(String[] args) {

try(BufferedReader br = new BufferedReader(new FileReader("test.txt")))

{

//qatarma-qatar oqıtıw String s;

while((s=br.readLine())!=null){ System.out.println(s);

}

}

catch(IOException ex){ System.out.println(ex.getMessage());

}

}

}

Bunda br.readLine() metodı 1 qatardı tolıq oqıydı. Eger qatarlar tawsılsa, onda bul metod null mánisin qaytaradı. Programmanıń qalǵan bólegi menen joqarıda tanıstırıldı.

</TITUNF></PI></PROGRAMMALASTIRIW I></A.B.ORINBAEV>

Tákirarlaw sorawları

Javada kiritiw shıǵarıw potoki qaysılar?

Reader hám Writer abstrakt klasslarınıń wazıypasın túsindiriń?

FileReader hám FileWriter klasslarınıń konstruktorların aytıń

FileReader hám FileWriter klasslarınıń qanday metodların bilesiz?

BufferedReader hám BufferedWriter klassları qanday maqsette qollanıladı?

BufferedReader hám BufferedWriter klasslarınıń jazılıw strukturaların kórsetiń?

</TITUNF></PI></PROGRAMMALASTIRIW I></A.B.ORINBAEV>

Соседние файлы в предмете Программирование на Java