Модераторы: LSD, AntonSaburov

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Качалка на java 
:(
    Опции темы
marshall
Дата 25.10.2004, 14:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 25.10.2004

Репутация: нет
Всего: нет



Друзья, подскажите, plz, можно ли написать качалку на java?
Представляется организованным следующим образом:
существует окошко, в которое вписывается ссылка/ссылки,
и нажимается download:).
Причём было бы здорово, если бы поддерживалось ожидание в очереди,
то есть закачася один файл - переход к следующему и т.д.
Реально такое сделать?
PM   Вверх
GoodBoy
Дата 25.10.2004, 14:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Главный джедай
****


Профиль
Группа: Модератор
Сообщений: 3886
Регистрация: 8.1.2003
Где: КМВ

Репутация: нет
Всего: 83



На JavaScript - нет!!!


--------------------
Чем дальше в лес, тем толще партизаны...

Цитата(igorold @  1.5.2016,  17:40 Найти цитируемый пост)
Индейцы не обратили внимания на поток беженцев из Европы… Теперь они живут в резервациях. 
PM MAIL   Вверх
Гость_DeathStorm
Дата 25.10.2004, 15:25 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











на java (именно на java) написать это можно
но вопрос походу надо перекинуть в другой раздел, админ ты где, где твоя гражданская бдительность :)
  Вверх
Aliance
Дата 25.10.2004, 18:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: нет
Всего: 137



Знаю как на php
PM MAIL WWW ICQ Skype   Вверх
Sardar
Дата 25.10.2004, 19:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: нет
Всего: 317



Цитата

админ ты где, где твоя гражданская бдительность :)

Занят днем ибо работа превыше всего :D
Переношу в Java


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
marshall
Дата 26.10.2004, 11:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 25.10.2004

Репутация: нет
Всего: нет



Ребят, а можно поподробнее раскрыть тему?
В принципе можно и на php и на java
PM   Вверх
sergejzr
Дата 26.10.2004, 13:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: нет
Всего: 360



А что? Давайте напишем качалку на яве! :)

Я начну с голого движка :)

Вот это копирует файл вам на диск:
Необходимо доработать:
  • проловить все ексепшены и сообщать юзеру ошибки детально.
  • Убрать штуку в отдельный поток, чтобы можно было контроллировать
  • реализовать докачку.
  • реализовать несколько потоков.
  • предусмотреть скачивание очень больших файлов. В этом случае следует списывать мегов по 10 на диск, а потом собирать
  • определить оптимальный размер баффера
  • Вести логи, сколько байт скачано для последующей дозагрузки
С этим движком вопрос скорее времени, чем алгоритма :)
Все разработки постуем в эту тему. В конце должна получится вещь :)
Активным участникам плюсы :)
Код

import java.io.*;
import java.util.regex.*;
import java.util.*;
import java.net.*;
import java.nio.channels.*;

public class HttpDownloader
{
/*
   Здесь всё понятно забираем FromUrl и записываем на диск как ToFile
*/
public void urlDownload(URL FromUrl,File ToFile) throws Exception
{
 ReadableByteChannel bc = Channels.newChannel(FromUrl.openStream());
 FileChannel fc = (new FileOutputStream(ToFile)).getChannel();

 int pos = 0;// Позиция в файле
 int transferunit = 1024;// Будем переписывать по 1024 байт
 int len;// сколько переписалось на самом деле

 while((len = (int)fc.transferFrom(bc,(long)pos,(long)transferunit)) == transferunit)
 {
  System.out.println("Zachital");
  pos += len;
 }
 System.out.println("Gotovo!");
 bc.close();
 fc.close();

}
public static void main(String[] args)
{
 HttpDownloader HDwler=new HttpDownloader();
 try
 {
  HDwler.urlDownload(new URL("http://www.google.de"),new File("index.html"));
 }
 catch (Exception e)
 {
  System.out.println("Download aborted");
 }
}

}


Это сообщение отредактировал(а) sergej.z - 26.10.2004, 13:52


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Alone
Дата 26.10.2004, 13:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 663
Регистрация: 11.5.2003
Где: Dnepropetrovsk, U A

Репутация: нет
Всего: 6



Изобретем велосипед? :)
sun download manager


--------------------
web developer/telecommunication specialist.
mailto: [email protected]
ICQ#28442924

PM MAIL WWW ICQ   Вверх
marshall
Дата 26.10.2004, 13:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 25.10.2004

Репутация: нет
Всего: нет



уже огромное спасибо за активное участие! :D
а штука должна получиться очень нужная.
особенно для тех, кто сталкивается на компьютерах
с ограничениями
(например, блокировка пункта "сохранить как" из правой кнопки и т.д.)
-----------
Respect,
Marshall
PM   Вверх
sergejzr
Дата 26.10.2004, 13:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: нет
Всего: 360



--Resize_Images_Alt_Text--

Не думаю, что вопрос был о скачке sun'овских пакетов :)
Тем более наш можно бутед расширять и наполнять различными функциями как: Скачать все мп3 с этой страницы.
Или: Пройдись по линькам и если найдёшь сайт с картинками размером не меньше АхБ - скачай картинки :)


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Alone
Дата 26.10.2004, 13:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 663
Регистрация: 11.5.2003
Где: Dnepropetrovsk, U A

Репутация: нет
Всего: 6



Гм... вообще то он скачивает не только с сана... :)
Привязки нет. проверил.


--------------------
web developer/telecommunication specialist.
mailto: [email protected]
ICQ#28442924

PM MAIL WWW ICQ   Вверх
Aliance
Дата 26.10.2004, 14:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: нет
Всего: 137



короткий и простой php код:

Код

...
<form name="upload" metod="post" action="upload.php" enctype="multipart/form-data">
<input name="userfile[]" type="file">
<input name="userfile[]" type="file">
<input name="userfile[]" type="file">
<input name="userfile[]" type="file">
<input type="submit">
</form>
...
## upload.php
<?
  for($i=0; $i<sizeof($userfile); $i++)
  {
  if(!userfile_size[$i])
  continue;

  $UPLOAD = fopen( $userfile[$i], "r" );
  $contents = fread( $UPLOAD, $userfile_size[$i] );
  fclose( $UPLOAD );
  $SAVEFILE = fopen( "upload/".$userfile_name[$i], "wb" );
  fwrite( $SAVEFILE, $contents, $userfile_size[$i] );
  fclose( $SAVEFILE );
 }
  enco "Сервер получил файлы!"
?>

PM MAIL WWW ICQ Skype   Вверх
marshall
Дата 26.10.2004, 14:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 25.10.2004

Репутация: нет
Всего: нет



В принципе, я так понимаю,
это скрипт для загрузки файлов с компа на сервер, да?
PM   Вверх
ElectricalStorm
Дата 26.10.2004, 16:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 547
Регистрация: 22.1.2004

Репутация: нет
Всего: 9



wget подойдет ? ;)


--------------------
Нужно знать инструмент, которым пользуешься
PM MAIL   Вверх
sergejzr
Дата 26.10.2004, 18:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: нет
Всего: 360



Я так понимаю, здесь проблема в целом решена :)

Здесь откатываем предложение по созданию качалки:)
Для этого открыта новая ветка.
Желающие - туда :)
http://forum.vingrad.ru/index.php?act=ST&f...32717&unread=1#


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Работа с сетью | Следующая тема »


 




[ Время генерации скрипта: 0.1267 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.