Содержание
- 2. 15.1. Виды потоков ввода/вывода Всего существует 2 вида потоков ввода/вывода: - байтовые; - символьные. Байтовые потоки
- 3. Все потоки ядра Java (стандартного API) являются потомками 4-х суперклассов, которые являются абстрактными и напрямую наследуются
- 4. Замечание. В состав API входит класс java.io.RandomAccessFile, который не принадлежит приведенным выше иерархиям, наследуется непосредственно от
- 5. 15.2. Парные потоки Предназначение каждого класса-потока заключается в том, чтобы передать или принять последовательность символов или
- 8. 15.3. Поле out класса System Статическое поле out класса System имеет тип java.io.PrintStream, который представляет собой
- 9. 15.4. Классы надстройки Классы FilterInputStream, FilterOutputStream; FilterReader, FilterWriter являются, соответственно, классами надстройками над классами InputStream, OutputStream;
- 10. Основное предназначение надстроек - наделение существующего потока новыми свойствами. Комбинируя исходный поток и классы надстройки, можно
- 11. 15.5. Класс DataInputStream Класс DataInputStream наследует класс надстройку FilterInputStream и позволяет читать данные из входного байтового
- 12. Замечание. Экземпляры классов DataInputStream и DataOutputStream надстраивают, соответственно, входной и выходной потоки, которые передаются им как
- 13. 15.6. Класс BufferedOutputStream Класс BufferedOutputStream наследует класс надстройку FilterOutputStream. Объект этого класса надстраивает выходной байтовый поток
- 14. Парный класс BufferedInputStream наследует надстройку FilterInputStream и надстраивает входной поток, добавляя возможность использовать буфер.
- 15. 15.7. Класс ByteArrayInputStream Класс ByteArrayInputStream наследуется напрямую от класса InputStream, при этом байты считываются в массив
- 16. 15.8. Класс FileOutputStream Класс FileOutputStream наследуется напрямую от класса OutputStream и предназначен для записи байт в
- 17. 15.9. Класс PushbackInputStream Класс PushbackInputStream надстраивает входной байтовый поток и позволяет кроме чтения осуществлять запись прочтенных
- 18. 15.10. Класс RandomAccessFile Для создания объектов класса RandomAccessFile требуется передать конструктору класса имя файла, с которым
- 19. 15.11. Класс OutputStreamWriter Класс OutputStreamWriter наследуется от класса Writer, и преобразует выходной символьный поток в выходной
- 20. Замечание. Если при создании объекта класса OutputStreamWriter используется конструктор без указания кодировки, то конвертирование осуществляется с
- 21. 15.12. Кодировка по умолчанию При запуске программы кодировку по умолчанию устанавливает JVM в зависимости от операционной
- 22. 15.13. Указание кодировки при компиляции Для правильного отображения строковых литералов, записанных в программе, следует обеспечить правильное
- 23. 15.14. Перекодировка вывода Все строковые литералы в байт коде классов содержаться в формате Unicode. При выводе
- 24. Если вывод осуществляется в консольное окно (с помощью метода System.out.println), то такие строки в общем случае
- 25. PrintWriter out = new PrintWriter(new OutputStreamWriter(System.out, "Cp866"), true); out.println(s); // вывод на экран строки s в
- 26. Замечание. Аналогично можно надстроить по сути любой поток, таким образом достигается возможность осуществлять перекодирование символов между
- 27. 15.15. Кодировка по умолчанию Строка с именем кодировки по умолчанию содержится в системном свойстве file.encoding. Свойство
- 28. 15.16. Класс InputStreamReader Класс InputStreamReader наследуется от класса Reader, и преобразует входной байтовый поток в символьный
- 29. 15.17. Буферизация Для ускорения файловых операций чтения/записи следует использовать буферизированные классы: BufferedInputStream и BufferedReader. BufferedReader in1
- 30. 15.18. Поле in класса System Статическое поле in класса System имеет тип InputStream и связано по
- 31. 15.19. Момент создания файла Физическое создание файла при помощи класса FileOutputStream происходит до того, как закончится
- 32. 15.20. Класс File Класс File предназначен для работы с элементами файловой системы (ЭФС). Представление пути к
- 33. При создании объекта класса File всегда задают абстрактный путь к ЭФС. public File(String pathname) Путь к
- 34. Абстрактный путь состоит из необязательного системно-зависимого префикса и последовательности имен. В ОС Windows префиксом является имя
- 35. Замечание. В ОС Windows разделителем является символ \ (backslash) При написании строкового литерала, содержащего путь к
- 36. 15.21. Пустой абстрактный путь При создании объекта File допускается указывать пустой абстрактный путь. File f =
- 37. 15.22. Метод getPath Метод getPath класса File возвращает строковое представление абстрактного пути к ЭФС, который был
- 38. 15.23. Преобразование абстрактного пути Абстрактный путь, который задается объекту File при его создании, преобразуется в строку
- 39. 15.24. Метод getAbsolutePath Метод getAbsolutePath класса File возвращает т.н. абсолютный путь к ЭФС вид которого зависит
- 40. Замечание. Текущий пользовательский каталог назначается каждой программе при ее выполнении и предназначен для разрешения относительных путей,
- 41. Замечание. Если абстрактный путь пустой, то будет выведено значение свойства user.dir. Замечание. Строка, которую возвращает метод
- 42. 15.25. Метод listFiles Метод listFiles класса File возвращает массив объектов File, содержащихся в каталоге, на который
- 43. Возможны три случая: 1) this ссылается на непустой каталог: возвращаемый массив будет включать объекты File, соответствующие
- 44. Замечание. Вызов метода listFiles желательно предварять вызовом метода isDirectory, который возвращает true в том и только
- 45. 15.26. Интерфейс FileFilter Метод listFiles может принимать в качестве параметра объект класса, который реализует интерфейс FileFilter.
- 46. import java.io.*; public class Test implements FileFilter { public boolean accept(File f) { return f.getName().length() }
- 47. 15.27. Метод getParent Метод getParent класса File возвращает часть абстрактного пути ЭФС.
- 49. 15.28. Метод getCanonicalPath Метод getCanonicalPath класса File возвращает т.н. канонический путь к ЭФС. Данный метод пытается
- 50. Для Windows он заключается в следующем: 1) с помощью метода getAbsolutePath определяется абсолютный путь 2) соответствующим
- 52. Скачать презентацию