Читаем одну строку из созданного
// Сбрасываем содержимое буфера вывода
OutStream.flush();
// Закрываем выходной поток
OutStream.close();
}
catch(Exception ioe)
{
System.out.println(ioe.toString());
}
// Выполняем попытку чтения из файла
try
{
// Создаем входной буферизованный поток данных
InStream = new DataInputStream(
new BufferedInputStream(
new FileInputStream("output.txt")));
// Читаем одну строку из созданного входного потока
// и отображаем ее на консоли
System.out.println(InStream.readLine());
// Закрываем входной поток
InStream.close();
}
catch(Exception ioe)
{
System.out.println(ioe.toString());
}
// Ожидаем ввода с клавиатуры, а затем завершаем
// работу приложения
try
{
System.out.println(
"Press <Enter> to terminate application...");
System.in.read(bKbdInput);
}
catch(Exception ioe)
{
System.out.println(ioe.toString());
}
}
}
new BufferedInputStream(
new FileInputStream("output.txt")));
// Создаем объект для разбора потока
TokenizerOfStream tos = new TokenizerOfStream();
// Выполняем разбор
tos.TokenizeIt(InStream);
// Закрываем входной поток
InStream.close();
System.out.println("Press <Enter> to terminate...");
System.in.read(bKbdInput);
}
catch(Exception ioe)
{
System.out.println(ioe.toString());
}
}
}
// =========================================================
// Класс TokenizerOfStream
// Класс для разбора входного потока
// =========================================================
class TokenizerOfStream
{
public void TokenizeIt(InputStream is)
{
// Создаем разборщик потока
StreamTokenizer stok;
// Временная строка
String str;
try
{
// Создаем разборщик потока
stok = new StreamTokenizer(is);
// Задаем режим исключения комментариев,
// записанных в стиле С++ (два символа '/')
stok.slashSlashComments(true);
// Указываем , что символ '.' будет обычным символом
stok.ordinaryChar('.');
// Запускаем цикл разбора потока,
// который будет завершен при достижении
// конца потока
while(stok.nextToken() != StreamTokenizer.TT_EOF)
{
// Определяем тип выделенного элемента
switch(stok.ttype)
{
// Если это слово, записываем его во
// временную строку
case StreamTokenizer.TT_WORD:
{
str = new String("\nTT_WORD >" + stok.sval);
break;
}
// Если это число, преобразуем его
// в строку
case StreamTokenizer.TT_NUMBER:
{
str = "\nTT_NUMBER >" +
Double.toString(stok.nval);
// введенному пути
File fdir = new File(sDirPath);
// Если указанный каталог не существует,
// выводим сообщение и завершаем работу
if(!fdir.exists())
{
System.out.println("Directory not found: "
+ sDirPath);
}
// Если путь существует, определяем параметры
// соответствующего файла или каталога
else
{
// Проверяем, был указан файл или каталог
if(!fdir.isDirectory())
System.out.println("File " + sDirPath +
" is not directory");
// Если указан каталог, получаем его содержимое
else
{
// Если маска не задана, вызываем метод list
// без параметров
if(sMask == null)
dirlist = fdir.list();
// Вызываем метод list, создавая фильтр
else
dirlist = fdir.list(new MaskFilter(sMask));
// Сканируем полученный массив
for (int i = 0; i < dirlist.length; i++)
{
// Для каждого объекта, обнаруженного в
// каталоге, создаем объект класса File
File f = new File(sDirPath + "\\" + dirlist[i]);
// Имена файлов отображаем строчными буквами
if(f.isFile())
System.out.println(dirlist[i].toLowerCase());
// Имена каталогов оставляем без изменения
else
System.out.println(dirlist[i]);
}
}
}
System.out.println("Press <Enter> to terminate...");
System.in.read(bKbdInput);
}
catch(Exception ioe)
{
System.out.println(ioe.toString());
}
}
}
// =========================================================
// Класс MaskFilter
// Фильтр для просмотра каталога
// =========================================================
// поток для записи принятого файла
DataOutputStream os = new DataOutputStream(
new BufferedOutputStream(
new FileOutputStream("output.dat")));
// Выполняем в цикле чтение файла, расположенного
// по адресу u, копируя этот файл в выходной поток
while(true)
{
int nReaded = is.read(buf);
if(nReaded == -1)
break;
os.write(buf, 0, nReaded);
}
// Закрываем входной и выходной потоки
is.close();
os.close();
System.out.println("File received");
}
catch(Exception ioe)
{
System.out.println(ioe.toString());
}
try
{
System.out.println("Press <Enter> to terminate...");
System.in.read(bKbdInput);
}
catch(Exception ioe)
{
System.out.println(ioe.toString());
}
}
}
Содержание раздела