IV. Буферизоване введення-виведення

Операції введення-виведення в порівнянні з операціями в оперативній пам’яті виконуються дуже повільно. Для компенсації в оперативній пам’яті виділяється деяка проміжна область — буфер, в якому поступово накопичується інформація. Коли буфер заповнений, його вміст швидко переноситься процесором, буфер очищується і знову заповнюється інформацією. Життєвий приклад буфера — поштова скринька, в якій накопичуються листи. Ми кидаємо в нього листа і йдемо в своїх справах, не очікуючи приїзду поштової машини. Поштова машина періодично очищує поштову скриньку, переносячи відразу велику кількість листів.

Класи файлового введення-виведення не займаються буферизацією. Для цієї мети є чотири спеціальні класи BufferedXxx, перечислені вище. Вони приєднуються до потоків введення-виведення як «перехідне кільце», наприклад:

 

BufferedReader br = new BufferedReader(isr);

BufferedWriter bw = new BufferedWriter(fw);

 

Програма лістингу, поданого нижче, читає текстовий файл, написаний в кодуванні СР866, і записує його вміст у файл в кодуванні KOI8_R. При читанні і записі застосовується буферизація. Ім’я вихідного файлу задається в командному рядку параметром args[0], ім’я копії — параметром args[]:

 

import java.io.*;

class DOStoUNIX{

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

if (args.length != 2){

System.err.println("Usage: DOStoUNIX Cp866file KOI8_Rfile");








Дата добавления: 2014-12-10; просмотров: 981;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.005 сек.