Программирование на JAVA
Меню :
Стартовая
Основы программирования
Программирование на JAVA
Программирование на C++
Программирование на Pascal
Задачи по программированию
Вот некоторые из корректных значений этого аргумента (чувствительного к регистру!) для распространенных кодировок: "Ср1521", "UTF-8", "8859_1" и т.д.
Курс
Программирование на Java
Лекция 15
Пакет java.io
Класс StreamTokenizer
Экземпляр StreamTokenizer создается поверх существующего объекта, либо InputStream, либо Reader. Как HJava.util.StringTokeznier, этот класс позволяет разбивать данные на лексемы (token), выделяемые из потока по определенным свойствам. Поскольку работа ведется со словами, конструктор, принимающий InputStream, объявлен как deprecated (предлагается оборачивать байтовый поток классом InputStreamReader и вызывать второй конструктор). Общий принцип работы такой же, как и у StringTokenizer, - задаются параметры разбиения, после чего вызывается метод nextToken(), пока не будет достигнут конец потока. Способы задания разбиения у StreamTokenizer довольно разнообразны, но просты, и поэтому здесь не рассматриваются.
Работа с файловой системой Класс File
Если классы потоков осуществляют реальную запись и чтение данных, то класс File — это вспомогательный инструмент, призванный обеспечить работу с файлами и каталогами.
Объект класса File является абстрактным представлением файла и пути к нему. Он устанавливает только соответствие с ним, при этом для создания объекта неважно, существует ли такой файл на диске. После создания можно выполнить проверку, вызвав метод exists, который возвращает значение true, если файл существует. Создание или удаление объекта класса File никоим образом не отображается на реальных файлах. Для работы с содержимым файла можно получить экземпляры Filel/OStream.
Объект File может указывать на каталог (узнать это можно путем вызова метода isDirectory). Метод list возвращает список имен (массив String) содержащихся в нем файлов (если объект File не указывает на каталог -будет возвращен null).
Следующий пример демонстрирует использование объектов класса File:
import java.io.*; public class FileDemo {
public static void findFiles(File file, FileFilter filter, PrintStream output) throws IOException{ if (file.isDirectoryO) {
File[] list = file.listFilesO; for (int Nist.length; -i>=0;) { findFiles(list[i], filter, output);