2a9cfd0b

Исходный текст приложения приведен в листинге 2.1.

После трансляции исходного текста вы можете запустить его на выполнение непосредственно из среды разработки приложений Microsoft Visual J++. При этом, когда на экране появится диалоговая панель Information For Running Class (2.5), вы должны указать в поле Class file name имя Standard, а в поле Run project under включить переключатель Stand-alone interpreter.

2.5. Заполнение диалоговой панели Information For Running Class

При этом приложение будет запущено под управлением автономного интерпретатора Java jview.exe.

Листинг 2.1. Файл Standard\Standard.java

// =========================================================

// Демонстрация использования стандартных потоков

//

// (C) Фролов А.В, 1997

//

// E-mail: frolov@glas.apc.org

// WWW:    http://www.glasnet.ru/~frolov

//            или

//         http://www.dials.ccas.ru/frolov

// =========================================================

import java.io.*;

public class Standard

{

  // -------------------------------------------------------



  // main

  // Метод, получающий управление при запуске приложения

  // -------------------------------------------------------

  public static void main(String args[])

  {

    // Массив для ввода строки с клавиатуры

    byte bKbdInput[] = new byte[256];

    // Введенная строка

    String sOut;

    // Выполняем попытку вывода на консоль

    // строки приглашения

    try

    {

      // Выводим строку приглашения

      System.out.println("Hello, Java!\n" +

        "Enter string and press <Enter>...");

     

      // Читаем с клавиатуры строку

      System.in.read(bKbdInput);

      // Преобразуем введенные символы в строку типа String

      sOut = new String(bKbdInput, 0);

      // Выводим только что введенную строку на консоль

      System.out.println(sOut);

    }

    catch(Exception ioe)

    {

      // При возникновении исключения выводим его описание

      // на консоль

      System.err.println(ioe.toString());

    }

    // Ожидаем ввода с клавиатуры, а затем завершаем

    // работу приложения

    try

    {

      System.out.println(

        "Press <Enter> to terminate application...");

      System.in.read(bKbdInput);

    }

    catch(Exception ioe)

    {

      System.err.println(ioe.toString());

    }

  }

}




Исходный текст приложения StreamDemo представлен в листинге 2.2.

Листинг 2.2. Файл StreamDemo\StreamDemo.java

// =========================================================

// Демонстрация использования потоков для работы с файлами

//

// (C) Фролов А.В, 1997

//

// E-mail: frolov@glas.apc.org

// WWW:    http://www.glasnet.ru/~frolov

//            или

//         http://www.dials.ccas.ru/frolov

// =========================================================

import java.io.*;

public class StreamDemo

{

  // -------------------------------------------------------

  // main

  // Метод, получающий управление при запуске приложения

  // -------------------------------------------------------

  public static void main(String args[])

  {

    // Выходной поток

    DataOutputStream OutStream;

    // Входной поток

    DataInputStream  InStream;

    // Массив для ввода строки с клавиатуры

    byte bKbdInput[] = new byte[256];

    // Введенная строка, которая будет записана в поток

    String sOut;

    // Выполняем попытку вывода на консоль строки

    // приглашения

    try

    {

      // Выводим строку приглашения

      System.out.println("Hello, Java!\n" +

        "Enter string and press <Enter>...");

     

      // Читаем с клавиатуры строку для записи в файл

      System.in.read(bKbdInput);

      // Преобразуем введенные символы в строку типа String

      sOut = new String(bKbdInput, 0);

    }

    catch(Exception ioe)

    {

      // При возникновении исключения выводим его описание

      // на консоль

      System.out.println(ioe.toString());

    }

   

    // Выполняем попытку записи в выходной поток

    try

    {

      // Создаем выходной буферизованный поток данных

      OutStream = new DataOutputStream(

        new BufferedOutputStream(

          new FileOutputStream("output.txt")));

      // Записываем строку sOut в выходной поток

      OutStream.writeBytes(sOut);




Исходный текст приложения StreamToken представлен в листинге 2.5.

Листинг 2.5. Файл StreamToken\StreamToken.java

// =========================================================

// Разбор входного потока при помощи класса

// StreamTokenizer

//

// (C) Фролов А.В, 1997

//

// E-mail: frolov@glas.apc.org

// WWW:    http://www.glasnet.ru/~frolov

//            или

//         http://www.dials.ccas.ru/frolov

// =========================================================

import java.io.*;

// =========================================================

// Класс StreamToken

// Главный класс приложения

// =========================================================

public class StreamToken

{

  // -------------------------------------------------------

  // main

  // Метод, получающий управление при запуске приложения

  // -------------------------------------------------------

  public static void main(String args[])

  {

    // Выходной поток

    DataOutputStream OutStream;

    // Входной поток

    DataInputStream  InStream;

    // Массив для ввода строки с клавиатуры

    byte bKbdInput[] = new byte[256];

    // Введенная строка, которая будет записана в поток

    String sOut;

    try

    {

      // Выводим строку приглашения

      System.out.println("Enter string to parse...");

     

      // Читаем с клавиатуры строку для записи в файл

      System.in.read(bKbdInput);

      // Преобразуем введенные символы в строку типа String

      sOut = new String(bKbdInput, 0);

   

      // Создаем выходной буферизованный поток данных

      OutStream = new DataOutputStream(

        new BufferedOutputStream(

          new FileOutputStream("output.txt")));

      // Записываем строку sOut в выходной поток

      OutStream.writeBytes(sOut);

      // Закрываем выходной поток

      OutStream.close();

      // Создаем входной буферизованный поток данных

      InStream = new DataInputStream(




Исходный текст приложения StringToken вы найдете в листинге 2.6.

Листинг 2.6. Файл StringToken\StringToken.java

// =========================================================

// Разбор текстовой строки при помощи класса

// StringTokenizer

//

// (C) Фролов А.В, 1997

//

// E-mail: frolov@glas.apc.org

// WWW:    http://www.glasnet.ru/~frolov

//            или

//         http://www.dials.ccas.ru/frolov

// =========================================================

import java.io.*;

import java.util.*;

// =========================================================

// Класс StringToken

// Главный класс приложения

// =========================================================

public class StringToken

{

  // -------------------------------------------------------

  // main

  // Метод, получающий управление при запуске приложения

  // -------------------------------------------------------

  public static void main(String args[])

  {

    // Массив для ввода строки с клавиатуры

    byte bKbdInput[] = new byte[256];

    // Введенная строка, которая будет записана в поток

    String sOut;

    String str;

    try

    {

      // Выводим строку приглашения

      System.out.println("Enter string to parse...");

     

      // Читаем с клавиатуры строку для записи в файл

      System.in.read(bKbdInput);

      // Преобразуем введенные символы в строку типа String

      sOut = new String(bKbdInput, 0);

     

      // Создаем разборщик текстовой строки

      StringTokenizer st;

      st = new StringTokenizer(sOut, ",.; ");

      // Запускаем цикл разборки строки

      while(st.hasMoreElements())

      {

        // Получаем очередной жлемент

        str = new String((String)st.nextElement());

        // Записываем его в стандартный поток вывода

        System.out.println(str);

      }

     

      System.out.println("Press <Enter> to terminate...");

      System.in.read(bKbdInput);

    }

    catch(Exception ioe)

    {

      System.out.println(ioe.toString());

    }

  }

}




Исходный текст приложения DirList представлен в листинге 2.8.

Листинг 2.8. Файл DirList\DirList.java

// =========================================================

// Просмотр содержимого каталога при помощи класса File

//

// (C) Фролов А.В, 1997

//

// E-mail: frolov@glas.apc.org

// WWW:    http://www.glasnet.ru/~frolov

//            или

//         http://www.dials.ccas.ru/frolov

// =========================================================

import java.io.*;

import java.util.*;

// =========================================================

// Класс DirList

// Главный класс приложения

// =========================================================

public class DirList

{

  // -------------------------------------------------------

  // main

  // Метод, получающий управление при запуске приложения

  // -------------------------------------------------------

  public static void main(String args[])

  {

    // Массив для ввода строки с клавиатуры

    byte bKbdInput[] = new byte[256];

    // Путь к каталогу, содержимое которого

    // мы будем просматривать

    String sDirPath;

    // Маска для просмотра

    String sMask;

    // Массив строк содержимого каталога

    String[] dirlist;

    try

    {

      // Выводим строку приглашения для ввода пути

      // к каталогу, содержимое которого будем просматривать

      System.out.println("Enter directory path...");

      System.in.read(bKbdInput);

      sDirPath = new String(bKbdInput, 0);

      StringTokenizer st;

      st = new StringTokenizer(sDirPath, "\r\n");

      sDirPath = new String((String)st.nextElement());

      // Вводим строку маски

      System.out.println("Enter mask...");

      System.in.read(bKbdInput);

      sMask = new String(bKbdInput, 0);

      st = new StringTokenizer(sMask, "\r\n");

      sMask = new String((String)st.nextElement());

     

      // Создаем объект класса File, соответствующий




Исходный текст приложения URLDemo приведены в листинге 3.2.

Листинг 3.2. Файл URLDemo\URLDemo.java

// =========================================================

// Копирование файла, расположенного в каталоге

// сервера Web, с помощью класса URL

//

// (C) Фролов А.В, 1997

//

// E-mail: frolov@glas.apc.org

// WWW:    http://www.glasnet.ru/~frolov

//            или

//         http://www.dials.ccas.ru/frolov

// =========================================================

import java.net.*;

import java.io.*;

import java.util.*;

// =========================================================

// Класс InetAddressDemo

// Главный класс приложения

// =========================================================

public class URLDemo

{

  // -------------------------------------------------------

  // main

  // Метод, получающий управление при запуске приложения

  // -------------------------------------------------------

  public static void main(String args[])

  {

    // Массив для ввода строки с клавиатуры

    byte bKbdInput[] = new byte[256];

    // Введенная строка

    String sIn;

    // Строка адреса URL

    String sURL;

    // Адрес URL удаленного узла

    URL u;

    // Рабочий буфер для копирования файла

    byte buf[] = new byte[1024];

    try

    {

      // Вводим адрес URL удаленного узла

      System.out.println("Enter remote host name...");

      System.in.read(bKbdInput);

      sIn = new String(bKbdInput, 0);

      // Обрезаем строку, удаляя символ конца строки

      StringTokenizer st;

      st   = new StringTokenizer(sIn, "\r\n");

      sURL = new String((String)st.nextElement());

      // Создаем объект класса URL

      u = new URL(sURL);

      // Создаем входной поток, связанный с объектом,

      // адрес URL которого хранится в поле u

      InputStream is = u.openStream();

      // Создаем выходной буферизованный форматированный



Содержание раздела