Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/42: Рейтинг темы: голосов - 42, средняя оценка - 4.83
58 / 57 / 15
Регистрация: 15.09.2012
Сообщений: 557

Загрузка файла с сервера

13.12.2013, 22:21. Показов 8908. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Файл загружается но видимо неправильно. Так как этот mp3-файл не воспроизводится. Предполагаю что нада поменять User-agent, но какой ?
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
URL myURL = new URL("https://translate.google.ru/translate_tts?ie=UTF-8&q="+b + "&tl=ru&total=1&idx=0&textlen=44&prev=input");
    URLConnection hpCon = myURL.openConnection(); \\ соединяемсь
    hpCon.setRequestProperty("User-Agent", "Mozilla/5.0"); \\настройка параметров 
    
    InputStream dataStream = hpCon.getInputStream(); \\ подсоединяю поток для чтения
    InputStreamReader isr = new InputStreamReader(dataStream, "UTF-8"); \\ я так понял буферезированый поток
 
        StringBuffer data = new StringBuffer(); \\ сюда записываю данные с потока
    int c;
    while ((c = isr.read()) != -1)
    {
        
           data.append((char) c);
    }
  
 
    resultString = new String (data.toString()); \\ конвертирую данные в строку => возможно здесь что-то не так
    
   \\ далее идет запись содержимого строки у файл на флешке
    
        File sdPath = Environment.getExternalStorageDirectory();
        // добавляем свой каталог к пути
        sdPath = new File(sdPath.getAbsolutePath() + "/" + DIR_SD);
        // создаем каталог
        sdPath.mkdirs();
        // формируем объект File, который содержит путь к файлу
        File sdFile = new File(sdPath, FILENAME_SD);
        try {
          // открываем поток для записи
          BufferedWriter bw = new BufferedWriter(new FileWriter(sdFile));
          // пишем данные
          bw.write(resultString);
          // закрываем поток
          bw.close();
            } 
       catch (IOException e) {
          e.printStackTrace();
        }
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.12.2013, 22:21
Ответы с готовыми решениями:

Загрузка файла с сервера
Добрый вечер. У меня появилась необходимость скачивать автоматом с сервера файл, и я пошел на эту тему гуглить, и нашел вот это скрипт....

Загрузка файла с сервера на ПК
Здравствуйте, есть сервер и клиент. Я отправляю файл, который хранится на сервере клиенту. Пишет файл отправлен, но файл у клиента не...

Загрузка файла с сервера
Делаю загрузку с сервера на пхп document.location.href=file_name; Как сделать оповещение о начале загрузке и окончании загрузки файла?

4
 Аватар для GukZiLLA
36 / 36 / 2
Регистрация: 30.11.2013
Сообщений: 102
13.12.2013, 23:50
МОжет поможет)

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
    try {
        URL url = new URL("URL_MP3"]);
        URLConnection conexion = url.openConnection();
        conexion.connect();
 
        InputStream input = new BufferedInputStream(url.openStream());
        OutputStream output = new FileOutputStream("ПУТЬ_ДО_МЕСТА_НА_ФЛЕШКЕ(Environment.getExternalStorageDirectoyr())/nameFile.mp3");
 
        byte data[] = new byte[1024];
 
        while ((count = input.read(data)) != -1) {
            output.write(data, 0, count);
        }
 
        output.flush();
        output.close();
        input.close();
    } catch (Exception e) {}
0
58 / 57 / 15
Регистрация: 15.09.2012
Сообщений: 557
14.12.2013, 11:12  [ТС]
Цитата Сообщение от GukZiLLA Посмотреть сообщение
МОжет поможет)

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
    try {
        URL url = new URL("URL_MP3"]);
        URLConnection conexion = url.openConnection();
        conexion.connect();
 
        InputStream input = new BufferedInputStream(url.openStream());
        OutputStream output = new FileOutputStream("ПУТЬ_ДО_МЕСТА_НА_ФЛЕШКЕ(Environment.getExternalStorageDirectoyr())/nameFile.mp3");
 
        byte data[] = new byte[1024];
 
        while ((count = input.read(data)) != -1) {
            output.write(data, 0, count);
        }
 
        output.flush();
        output.close();
        input.close();
    } catch (Exception e) {}
Попробовал. Но у меня нет класа BufferedInputStream. Получил поток через метод getInputStream. Все остальное оставил так как у вашем примере. Проблема осталась. Как в моём так и вашем примере запись идёт только неправильно. Записываются лишние данные. Создавал java приложение на компе, там поначалу тоже происходила загрузка но неправильная. Все решилось когда добавил setRequestProperty("User-Agent", "Translator"). Использование других агентов давало неправильную загрузку. Думаю, что и в приложении на андроид все зависит от агента, но какой Нада выбрать?
0
 Аватар для GukZiLLA
36 / 36 / 2
Регистрация: 30.11.2013
Сообщений: 102
14.12.2013, 13:35
Цитата Сообщение от ASDFD12 Посмотреть сообщение
Но у меня нет класа BufferedInputStream.
Как так нет? )
Он был добавлен еще в api level 1 http://developer.android.com/r... tream.html
Переустановите ide)
1
58 / 57 / 15
Регистрация: 15.09.2012
Сообщений: 557
14.12.2013, 14:11  [ТС]
Цитата Сообщение от GukZiLLA Посмотреть сообщение
Как так нет? )
Он был добавлен еще в api level 1 http://developer.android.com/r... tream.html
Переустановите ide)
Все СУПЕР. Спасибо. Нашел этот BufferedInputStream, подключил и все заработало. Странно, что через getInputStream не работало. Тема закрыта.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.12.2013, 14:11
Помогаю со студенческими работами здесь

Загрузка файла с сервера
Здравствуйте. Необходимо реализовать загрузку файла книги (формат fb2) с сервера. Лежат книги в папке files/books, там же лежит файл...

Загрузка файла с удаленного сервера
Нужно загрузить файл в временную папку и при загрузке писать загружено n из N мБ Как такое реализировать? и как проверять файли в...

Загрузка docx файла с сервера
на сервере хранятся файлы различных типов jpg doc pdf и т.д при помощи скрипта автоматически генерируются ссылки на эти файлы, все было бы...

Загрузка .xls файла с сервера
Подскажите, пожалуйста. На страничке есть ссылка на экселевский файл. Нужно, чтобы при нажатии на ссылку Explorer предлагал сохранить на...

Загрузка большого файла с сервера
Всем привет! Задача такая: Выгрузить файл, при этом пользователь не должен сидеть минуту и думать загружается файл или нет. Файл...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru