2012-06-13 4 views
1

Я пытаюсь создать приложение консоли Java, которое будет загружать файл с URL-адреса. Файл создается в Runtime, и я не знаю имя файла. Когда я копирую и вставляю URL-адрес в браузере, файл сохранения появляется, чтобы сохранить файл. Теперь я хочу создать Java-код, который входит в систему на сервере (проверяет, что у меня это было сделано) перейдите на этот URL-адрес и загрузите файл.java URL file загрузить

+1

В чем вопрос? –

+1

В чем вопрос? –

+0

Извините, мой вопрос: как это реализовать. Я написал код, как показано ниже, и когда я его запускаю, он возвращает код HTML вместо фактического файла .xlsx. Мне нужно изменить код, чтобы при обращении к URL-адресу моим приложением. Отчет будет сгенерирован и возвращен, после чего я сохраню файл на локальном компьютере. – Mohamed

ответ

0

Простой exapmple из документов, просто чтобы поместить ваш url insted из http://www.oracle.com/ и сменить System.out.println(inputLine);, чтобы записать файл на диск.

import java.net.*; 
import java.io.*; 

public class URLReader { 
    public static void main(String[] args) throws Exception { 

     URL oracle = new URL("http://www.oracle.com/"); 
     BufferedReader in = new BufferedReader(
     new InputStreamReader(oracle.openStream())); 

     String inputLine; 
     while ((inputLine = in.readLine()) != null) 
      System.out.println(inputLine); 
     in.close(); 
    } 
} 
+0

Спасибо Sergii, но это вернет только код HTML на этой странице. – Mohamed

+0

@Saned - этот код будет запрашивать * ресурс * с сервера, а затем загружает поток байтов, отправляемый сервером в ответ. Поэтому, если URL-адрес для HTML-страницы, вы получите HTML; если URL-адрес указывает на Zip-файл, вы получите байты этого Zip-файла. Я не уверен, что еще вы можете хотеть? –

+0

Я немного уточнил, что URL указывает на форму. Я изменил код для публикации в этой форме. После того, как сообщение завершено, файл должен быть сгенерирован. Я хочу загрузить этот файл. – Mohamed

1

Ответ Сергия - хорошее начало; однако, если веб-сайт, который вы хотите использовать, требует больше простой загрузки, рассмотрите возможность использования Apache's HttpClient.

Он поддерживает файлы cookie, аутентификацию, URI, а также URL-адреса и загрузку файлов.