WWW.ИСХОДНИКИ.РУ cpp.sources.ru
java.sources.ru web.sources.ru soft.sources.ru
jdbc.sources.ru asp.sources.ru api.sources.ru

  Форум на исходниках
  Java
  Файлы с Internet

СПРОСИТЬ  ОТВЕТИТЬ
профайл | регистрация | faq

Автор Тема:   Файлы с Internet
Andrew опубликован 29-03-2001 04:52 MSK   Click Here to See the Profile for Andrew   Click Here to Email Andrew  
Пожайлуста помогите!
Есть url по нему нужно скачать файл к себе на диск в указаную папку(т.е. чтобы я сам путь писак куда качать). Как это можно реализовать?
P.S. И если можно то как зделать проверку, какого типа этот файл.
purpe опубликован 29-03-2001 10:16 MSK     Click Here to See the Profile for purpe  Click Here to Email purpe     
вот так можно взять файлик с курсом доллара с сервера РосБизнесКонсалтинга:

URL homeRBC = null;
DataInputStream dis = null;
String full = new String();

boolean cont2 = false;
try {
homeRBC = new URL("http://www.rbc.ru/out/801.csv");
dis = new DataInputStream(homeRBC.openStream());

String line = dis.readLine();
while(line != null) {
full += line + "\n";
line = dis.readLine();
}
cont2 = true;
} catch(IOException e) {
System.out.println("Error for connection to RBC ...");
}
if(cont2==true) {
String cbr = toUnicode(full);
}

После этого в переменной cbr будет храниться содержимое файлика 801.csv

функция toUnicode выглядит следующим образом:

public static String toUnicode(String str) throws IOException {
try {
String charset="windows-1251";
byte[] buf = new byte[str.length()];
str.getBytes(0, str.length(), buf, 0);
return new String(buf);
} catch(Exception e) {
return "Error toUnicode";
}
}


как записывать файл - сразу не вспомню, надо поискать ...

Andrew опубликован 04-04-2001 04:07 MSK     Click Here to See the Profile for Andrew  Click Here to Email Andrew     
Спасибо за пример, но мне нужно, чтобы не текстовый файл качался, а графический.
Может кто знает.
lamo опубликован 04-04-2001 11:18 MSK     Click Here to See the Profile for lamo  Click Here to Email lamo     
int i_buf = 0;
Socket sock_s;
InputStream st_inp;
OutputStream st_out;

try
{
sock_s = new Socket(www.sources.ru,80);
st_inp = sock_s.getInputStream();
st_out = sock_s.getOutputStream();
st_out.write(new String("GET /NonCGI/posticon.gif HTTP/1.0").getBytes());
FileOutputStream fs_out = new FileOutputStream("nfile.graf");
while ((i_buf = st_inp.read()) != -1)
{
fs_out.write(i_buf); // http заголовок сам отпарси.
}
fs_out.close();
st_inp.close();
st_out.close();
sock_s.close();
}
catch(UnknownHostException ex)
{
System.out.println("Unknown host.");
}
catch(Exception ioe)
{
System.out.println(ioe.toString());
}

lamo опубликован 04-04-2001 11:22 MSK     Click Here to See the Profile for lamo  Click Here to Email lamo     
ps:
ессно после "GET /NonCGI/posticon.gif HTTP/1.0"
нужно "\n\n" (см. rfc по http протоколу).

а как тип узнать, то это в Content-Type
увидиш в http заголовке ответа
(см. rfc по http протоколу) :
Content-Type: image/jpeg,
Content-Type: image/gif, and etc ...

СПРОСИТЬ  ОТВЕТИТЬ
Перейти:


E-mail | WWW.ИСХОДНИКИ.RU

Powered by: Ultimate Bulletin Board, Freeware Version 5.10a
Purchase our Licensed Version- which adds many more features!
© Infopop Corporation (formerly Madrona Park, Inc.), 1998 - 2000.