АБОБА. Справочник по программированию на Java Методическое пособие
Скачать 242.41 Kb.
|
Байтовые и символьные потокиJava определяет два типа потоков: байтовые и символьные. Байтовые потоки предоставляют удобные средства для управления вводом и выводом байтов. Байтовые потоки используются, например, при чтении и записи бинарных данных. Символьные потоки предлагают удобные возможности управления вводом и выводом символов. Они используют кодировку Unicode и, таким образом, могут быть интернационализированы. Кроме того, в некоторых случаях символьные потоки более эффективны, чем байтовые. Классы байтовых потоковБайтовые потоки определены в двух иерархиях классов. На вершине находятся абстрактные классы InputStream и OutputStream. Каждый из этих абстрактных классов имеет несколько реальных подклассов, которые управляют различиями между различными устройствами, такими как дисковые файлы, сетевые подключения и даже буферы памяти. Абстрактные классы InputStream и OutputStream определяют несколько ключевых методов, которые реализуют другие потоковые классы. Два наиболее важных – это read() и write(), которые, соответственно, читают и пишут байты данных. Оба метода объявлены как абстрактные внутри InputStream и OutputStream. В классах-наследниках они переопределяются. Классы символьных потоковСимвольные потоки также определены в двух иерархиях классов. На их вершине находятся два абстрактных класса: Reader и Writer. Эти абстрактные классы управляют потоками символов Unicode. В Java предусмотрено несколько конкретных подклассов для каждого из них. Абстрактные классы Reader и Writer определяют несколько ключевых методов, которые реализуют другие потоковые классы. Два наиболее важных — это read() и write(), которые, соответственно читают и пишут символьные данные. Эти методы переопределяются в потоковых классах-наследниках. BufferedInputStream Буферизированный входной поток. BufferedOutputStream Буферизированный выходной поток. ByteArrayInputStream Входной поток, читающий из массива байт. ByteArrayOutputStream Выходной поток, записывающий в массив байт. DataInputStream Входной поток, включающий методы для чтения стандартных типов данных Java. DataOutputStream Выходной поток, включающий методы для записи стандартных типов данных Java. FileInputStream Входной поток, читающий из файла. FileOutputStream Выходной поток, записывающий в файл. FilterInputStream Реализация InputStream. FilterOutputStream Реализация OutputStream. InputStream Абстрактный класс, описывающий поток ввода. ObjectInputStream Входной поток для объектов. ObjectOutputStream Выходной поток для объектов. OutputStream Абстрактный класс, описывающий поток вывода. PipedInputStream Входной канал (например, межпрограммный). PipedOutputStream Выходной канал. PrintStream Выходной поток, включающий print() и println(). PushbackInputStream Входной поток, поддерживающий однобайтовый возврат во входной поток. RandomAccessFile Поддерживает файловый ввод-вывод с произвольным доступом. SequenceInputStream Входной поток, представляющий собой комбинацию двух и более входных потоков, которые читаются совместно — один после другого. BufferedReader Буферизованный входной символьный поток. BufferedWriter Буферизованный выходной символьный поток. CharArrayReader Входной поток, который читает из символьного массива. CharArrayWriter Выходной поток, который пишет в символьный массив. FileReader Входной поток, читающий файл. FileWriter Выходной поток, пишущий в файл. FilterReader Фильтрующий читатель. FilterWriter Фильтрующий писатель. InputStreamReader Входной поток, транслирующий байты в символы. LineNumberReader Входной поток, подсчитывающий строки. OutputStreamWriter Выходной поток, транслирующий байты в символы. PipedReader Входной канал. PipedWriter Выходной канал. PrintWriter Выходной поток, включающий print() и println(). PushbackReader Входной поток, позволяющий возвращать символы обратно в поток. Reader Абстрактный класс, описывающий символьный ввод. StringReader Входной поток, читающий из строки. StringWriter Выходной поток, пишущий в строку. Writer Абстрактный класс, описывающий символьный вывод. |