Форум программистов, компьютерный форум, киберфорум
mutagen
Войти
Регистрация
Восстановить пароль
все вопросы по Java которые задают более 3х раз на форуме
Рейтинг: 4.50. Голосов: 2.

Как скачать файл из сети

Запись от mutagen размещена 09.12.2012 в 05:23
Обновил(-а) mutagen 09.07.2013 в 15:13

Часто возникает необходимость скачать файл из сети по http или ftp протоколу, эти примеры далеки от совершенства, но вполне рабочие, пользуйтесь.
FTP вариант требует commons.apache.org (http://commons.apache.org/prop... lient.html)

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
    public static void downloadFile(String srcURL, String destPath, int bufferSize) {
        InputStream in = null;
        OutputStream out = null;
        try {
            URL url = new URL(srcURL);
            URLConnection conn = url.openConnection();
            conn.connect();
            in = conn.getInputStream();
            out = new FileOutputStream(destPath);
            byte buffer[] = new byte[bufferSize];
            int c = 0;
            while ((c = in.read(buffer)) > 0) {
                out.write(buffer, 0, c);
            }
            out.flush();
        } catch (IOException e) {
            System.out.println("File " + srcURL + " not found at server");
        } finally {
            try {
                if (out != null) {
                    out.close();
                }
                if (in != null) {
                    in.close();
                }
            } catch (IOException ex) {
 
            }
        }
    }
 
    static public void downloadFtpCommons(String server, String folder, String file, String destPath) {
        FTPClient ftp;
        ftp = new FTPClient();
        OutputStream output;
 
        try {
 
            ftp.connect(server);
            System.out.println("Connected to " + server + " on " + ftp.getDefaultPort());
            System.out.println(ftp.getReplyString());
            ftp.login("anonymous", "a@z.com");
            System.out.println(ftp.getReplyString());
 
            // ftp.enterLocalPassiveMode();
            ftp.enterLocalActiveMode();
            System.out.println(ftp.getReplyString());
 
            ftp.cwd(folder);
            System.out.println(ftp.getReplyString());
 
//          ftp.setFileType(FTP.ASCII_FILE_TYPE);
//          System.out.println(ftp.getReplyString());
 
            ftp.enterLocalPassiveMode();
            System.out.println(ftp.getReplyString());
 
            output = new FileOutputStream(destPath);
 
            ftp.retrieveFile(file, output);
            System.out.println(ftp.getReplyString());
 
            output.close();
 
            ftp.logout();
            System.out.println(ftp.getReplyString());
 
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
Очень поверхностное объяснение: различные протоколы
Размещено в Без категории
Показов 45948 Комментарии 5
Всего комментариев 5
Комментарии
  1. Старый комментарий
    Аватар для machito
    Не плохо было бы ещё и разьяснить...хотяб поверхностно (для новичков в виде исключения.)
    Запись от machito размещена 12.12.2012 в 03:33 machito вне форума
    Обновил(-а) machito 12.12.2012 в 03:34
  2. Старый комментарий
    Аватар для mutagen
    все поверхностные комментарии всё равно будут недостаточны для начинающего, да это и не цель данного блога, поэтому без чтения javadoc никак не обойтись.
    Запись от mutagen размещена 25.12.2012 в 17:20 mutagen вне форума
  3. Старый комментарий
    Аватар для machito
    Цитата:
    Сообщение от mutagen Просмотреть комментарий
    все поверхностные комментарии всё равно будут недостаточны для начинающего, да это и не цель данного блога, поэтому без чтения javadoc никак не обойтись.
    Как это нельзя ! К примеру выделить то, скопировать это....и скачать !
    Или что такие заморочки конкретные !?
    Какой смысл тогда писать об этом еслив по полочкам нельзя разложить !!! ИМХО
    Запись от machito размещена 25.12.2012 в 17:27 machito вне форума
  4. Старый комментарий
    Аватар для programina
    неплохо, но хотеться то же самое но на Си
    Запись от programina размещена 26.12.2012 в 11:34 programina вне форума
  5. Старый комментарий
    Аватар для mutagen
    Цитата:
    Сообщение от machito Просмотреть комментарий
    К примеру выделить то, скопировать это....и скачать !
    Где вы в коде увидели выделить и скопировать?
    Запись от mutagen размещена 17.01.2013 в 12:37 mutagen вне форума
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru