Листинг 23. Деректерді енгізу/шығару 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Листинг 23. Деректерді енгізу/шығару

Листинг 23. Деректерді енгізу/шығару

import j ava.io.*;

class DataPrWr{

public static void main(String[] args) throws IOException{

DataOutputstream dos = new DataOutputstream (

new FileOutputStream("fib.txt"));

int a = 1, b = 1, с = 1;

for (int k = 0; k < 40; k++){

System.out.print(b + " ");

dos.writelnt(b);

a = b; b = с; с = a + b;

}

dos.closet);

System.out.println("\n");

DatalnputStream dis = new DatalnputStream (

new FilelnputStream("fib.txt")) ;

while(true)

try{

a = dis.readlnt();

System.out.print(a + " ">;

}catch(lOException e){

dis.close();

System.out.println("End of file");

System.exit (0);

}

}

}

Сурет 16.Деректерді енгізу және шығару

 

Файлға тікелей байланыс орнату

Егер файлға Java әр түрлі түрі арқылы деректер берсек, оларды өзгертсек, қажет мәліметтерді іздеп оқысақ, онда RandomAccessFile класының әдістерін қолдану керек.

Бұл кластың конструкторлары

RandomAccessFile(File file, String mode)

RandomAccessFile(String fileName, String mode)

mode аргументі арқылы файлды ашу тәртібі беріледі. Бұл "r" жолы болуы мүмкін  — файлды тек оқу үшін ашу, немесе "rw" — файлды оқу және жазу үшін ашу.

Бұл класс файлмен жұмыс істеу әдістерін өзіне жинаған. Ол Datainputstream және DataOutputstream кластарының әдістерінен тұрады, сонымен бірге readidne () әдісі арқылы толық жолды оқи алады және файлдан керек мәліметтерді іздей алады.

Файл байттары 0 бастап нөмірленеді. Файл айқын емес көрсеткішпен (file pointer) жабдықталған. Оқу мен жазу файлдың кезекті орынынан басталады. Конструктор арқылы файлды ашу кезінде көрсеткіш файл басында тұрады, яғни 0 орынында. Кезекті орынды getFiiePointer() әдісімен білуге болады. Көрсеткішті жаңа орынға жылжыту үшін seek (long pos) әдісін қолданамыз. seek(0) әдісі көрсеткішті файл басына апарады.

 



Поделиться:


Последнее изменение этой страницы: 2024-07-06; просмотров: 64; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.21 (0.005 с.)