Druzya.org
Возьмемся за руки, Друзья...
 
 
Наши Друзья

Александр Градский
Мемориальный сайт Дольфи. 
				  Светлой памяти детей,
				  погибших  1 июня 2001 года, 
				  а также всем жертвам теракта возле 
				 Тель-Авивского Дельфинариума посвящается...

Библиотека :: Компьютеры и Программирование :: А.В. Фролов, Г.В. Фролов - Microsoft Visual J++
<<-[Весь Текст]
Страница: из 275
 <<-
 
============
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);
            break;
          }

          // Если найден конец строки, 
          // выводим строку End of line
          case StreamTokenizer.TT_EOL:
          {
            str = new String("> End of line");
            break;
          }

          // Выводим прочие символы
          default:
          {
            if((char)stok.ttype == '"')
            {
              str = new String("\nTT_WORD >" + stok.sval);
            }

            else
              str = "> " + 
                 String.valueOf((char)stok.ttype);
          }

          // Выводим на консоль содержимое временной строки
          System.out.println(str);
      }
    }
    catch(Exception ioe)
    {
      System.out.println(ioe.toString());
    }
  }
}
   Описание исходного текста приложения
   После ввода строки с клавиатуры и записи ее в файл через поток наше 
приложение создает входной буферизованный поток, как это показано ниже:
InStream = new DataInputStream(
  new BufferedInputStream(
  new FileInputStream("output.txt")));
   Далее для этого потока создается разборщик, который оформлен в отдельном 
классе TokenizerOfStream, определенном в нашем приложении
 
<<-[Весь Текст]
Страница: из 275
 <<-