Форум программистов, компьютерный форум, киберфорум
Java: Сети
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
7 / 6 / 5
Регистрация: 31.10.2013
Сообщений: 30
1

Как скачать *.doc файл по URL?

31.10.2013, 20:49. Показов 2016. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый вечер!
есть необходимость загрузить doc файл из веб ресурса
делаю следующим образом:
Java
1
2
3
4
5
WebTarget webTarget = client.target("https://portal.sstu.ru/Fakult/FETIP/IBS/ivcht_b1143/DocLib/1.%20%D0%A3%D1%87%D0%B5%D0%B1%D0%BD%D1%8B%D0%B5%20%D0%BC%D0%B0%D1%82%D0%B5%D1%80%D0%B8%D0%B0%D0%BB%D1%8B/1.1%20%D0%9B%D0%B5%D0%BA%D1%86%D0%B8%D0%B8/%D0%B8%D0%BD%D1%84%D0%BB%D1%8F%D1%86%D0%B8%D1%8F%20%D0%B8%20%D0%B1%D0%B5%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B8%D1%86%D0%B0.doc");
        String html = webTarget.request().buildGet().invoke().readEntity(String.class);
        //System.out.println(html);
        WriteToFile writ = new WriteToFile();
        writ.write(html);
WriteToFile это класс записи в файл. И, полагаю, что проблема в нем, поскольку файл сохраняется, но вместо текста только спецсимволы. видимо напутано с кодировками. Как это решить? прилагаю метод write из этого класса
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
public void write(String text){
        //Определяем файл
    File file = new File("/home/pashad/Документы/document.doc");
 
    try {
        //проверяем, что если файл не существует то создаем его
        if(!file.exists()){
            file.createNewFile();
        }
 
        //PrintWriter обеспечит возможности записи в файл
        PrintWriter out = new PrintWriter(file.getAbsoluteFile());
 
        try {
            //Записываем текст у файл
            byte[] a = text.getBytes("UTF-8");
            String str = new String(a, "windows-1251");
            out.print(str);
        } finally {
            //После чего мы должны закрыть файл
            //Иначе файл не запишеться
            out.close();
        }
    } catch(IOException e) {
        throw new RuntimeException(e);
    }
    }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.10.2013, 20:49
Ответы с готовыми решениями:

Скачать файл по url
Здрасвуйте! Подскажите есть ли такая функция чтобы скачала файл по url и сохранила его в заданном...

Как скачать сайт по URL?
люди я только начинаю разбирать в objecte не получается скачать код сайта думаю что всё делаю...

Как прочитать Файл "DOC" (.doc)?
Доброго дня! Я сохранил в папке документ, для которого указана эта соответствующая характиристика....

Требуется написать программу которая сохраняет этот файл как txt файл с тем же самым именем но с удаленным doc расширением.
Помогите разрешить следующую задачу. Существует некий файл Name.xml.doc эквивалент текстового файла...

3
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
01.11.2013, 10:45 2
А почему Вы читаете doc как String? Вы абсолютно уверены, что это строка? Если да - советую заглянуть внутрь и ответить снова. Читайте как массив байтов, его и записывайте.
1
Эксперт Java
4091 / 3825 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 11
01.11.2013, 10:48 3
Зачем вы в строку-то его записываете? в doc файле бинарные данные. На зачем гонять их в строку/из строки
записивайте в массив байтов, и потом его сбрасывайте на диск
1
7 / 6 / 5
Регистрация: 31.10.2013
Сообщений: 30
02.11.2013, 17:08  [ТС] 4
а ведь и правда, как я раньше об этом не подумал?
Спасибо, получилось!

Добавлено через 20 часов 31 минуту
обрадовался я рано. Возникла новая проблема! Никак не могу понять почему строку username нельзя передавать, а только жестко прописывать в кавычках? со строкой "sstuedudom\0903089" работает, а код ниже - нет. Может, кто-нибудь пояcнит в чем дело?
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public class MyAuthenticate extends Authenticator {
    String user;
    @Override
    
    public PasswordAuthentication getPasswordAuthentication () {
         
         
        if (getRequestingScheme().equalsIgnoreCase("basic")) {
            return new PasswordAuthentication ("sstuedudom\\0903089", "password".toCharArray());
        }
        return null;
    };
    
    public void getUsername (String username) {
        user = username;
    }
}
0
02.11.2013, 17:08
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.11.2013, 17:08
Помогаю со студенческими работами здесь

Скачать .DOC с сайта vk.com
Всем привет, здесь я впервые и нечего в программирований не понимаю, поэтому прошу помощи у вас. ...

Скачать doc по протоколу http
Тут такая проблемка возникла. Дали задачку на VBA, а я его вообще не бум-бум=) Нужно скачать...

Как открыть doc-файл?
Дан ListBox. В нем допустим предложение Лекция №1... Как сделать так, чтобы при нажатии на Лекция...

Как записать информацию в doc-файл
Создаю файл: StreamWriter sw; DitectoryInfo di = new DitectoryInfo("Papka"); di.Create(); sw...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru