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

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

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

      // Создаем выходной буферизованный форматированный
      // поток для записи принятого файла
      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  to terminate...");
      System.in.read(bKbdInput);
    }
    catch(Exception ioe)
    {
      System.out.println(ioe.toString());
    }
  }
}
   Описание исходного текста
   Сразу после запуска приложение запрашивает с консоли текстовую строку адреса 
URL файла, который необходимо переписать через сеть на локальный диск. После 
удаления символа перевода строки адрес записывается в поле sURL.
   Далее приложение создает объект класса URL, соответствующий введенному 
адресу:
u = new URL(sURL);
   На следующем этапе для объекта URL создается входной поток, для чего 
вызывается метод openStream:
InputStream is = u.openStream();
   Идентификатор этого потока сохраняется в поле is.
   Принятый файл будет записан в текущий каталог под именем output.dat. Для 
этого мы создаем входной буферизованный форматированный поток os, как это 
показано ниже:
DataOutputStream os = new Data
 
<<-[Весь Текст]
Страница: из 275
 <<-