На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
Друзья! С Днём Защитника Отечества!
msm.ru
! Следующие правила действуют в данном разделе в дополнение к общим Правилам Форума
1. Здесь обсуждается Java, а не JavaScript! Огромная просьба, по вопросам, связанным с JavaScript, SSI и им подобным обращаться в раздел WWW Masters или, на крайний случай, в Многошум.
2. В случае, если у вас возникают сомнения, в каком разделе следует задать свой вопрос, помещайте его в корневую ветку форума Java. В случае необходимости, он будет перемещен модераторами (с сохранением ссылки в корневом разделе).

3. Запрещается создавать темы с просьбой выполнить какую-то работу за автора темы. Форум является средством общения и общего поиска решения. Вашу работу за Вас никто выполнять не будет.
4. Не рекомендуется создавать несколько несвязанных вопросов в одной теме. Пожалуйста, создавайте по одной теме на вопрос.
Модераторы: dark_barker, wind
  
> Файлы с Internet
    Пожайлуста помогите!
    Есть url по нему нужно скачать файл к себе на диск в указаную папку(т.е. чтобы я сам путь писак куда качать). Как это можно реализовать?
    P.S. И если можно то как зделать проверку, какого типа этот файл.
      вот так можно взять файлик с курсом доллара с сервера РосБизнесКонсалтинга:
      URL homeRBC = null;
      DataInputStream dis = null;
      String full = new String();
      boolean cont2 = false;
      try {
      homeRBC = new URL("http://www.rbc.ru/out/801.csv");
      dis = new DataInputStream(homeRBC.openStream());
      String line = dis.readLine();
      while(line != null) {
      full += line + "\n";
      line = dis.readLine();
      }
      cont2 = true;
      } catch(IOException e) {
      System.out.println("Error for connection to RBC ...");
      }
      if(cont2==true) {
      String cbr = toUnicode(full);
      }
      После этого в переменной cbr будет храниться содержимое файлика 801.csv
      функция toUnicode выглядит следующим образом:
      public static String toUnicode(String str) throws IOException {
      try {
      String charset="windows-1251";
      byte[] buf = new byte[str.length()];
      str.getBytes(0, str.length(), buf, 0);
      return new String(buf);
      } catch(Exception e) {
      return "Error toUnicode";
      }
      }

      как записывать файл - сразу не вспомню, надо поискать ...
        Спасибо за пример, но мне нужно, чтобы не текстовый файл качался, а графический.
        Может кто знает.
          int i_buf = 0;
          Socket sock_s;
          InputStream st_inp;
          OutputStream st_out;
          try
          {
          sock_s = new Socket(www.sources.ru,80);
          st_inp = sock_s.getInputStream();
          st_out = sock_s.getOutputStream();
          st_out.write(new String("GET /NonCGI/posticon.gif HTTP/1.0").getBytes());
          FileOutputStream fs_out = new FileOutputStream("nfile.graf");
          while ((i_buf = st_inp.read()) != -1)
          {
          fs_out.write(i_buf); // http заголовок сам отпарси.
          }
          fs_out.close();
          st_inp.close();
          st_out.close();
          sock_s.close();
          }
          catch(UnknownHostException ex)
          {
          System.out.println("Unknown host.");
          }
          catch(Exception ioe)
          {
          System.out.println(ioe.toString());
          }
            ps:
            ессно после "GET /NonCGI/posticon.gif HTTP/1.0"
            нужно "\n\n" (см. rfc по http протоколу).
            а как тип узнать, то это в Content-Type
            увидиш в http заголовке ответа
            (см. rfc по http протоколу) :
            Content-Type: image/jpeg,
            Content-Type: image/gif, and etc ...
            0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
            0 пользователей:


            Рейтинг@Mail.ru
            [ Script execution time: 0,0211 ]   [ 15 queries used ]   [ Generated: 22.02.24, 16:48 GMT ]