2012-02-28 3 views
0

Мне не удается загрузить exe-файл с сервера.Невозможно загрузить exe-файл с удаленного места

I.E. Я могу загрузить exe-файл с моей машины определения местоположения и сохранить его на диске, но не с другого сервера, но когда я пытаюсь получить к нему доступ с сервера, он не загружается и дает ошибку, например:

java.io.FileNotFoundException: http:\10.128.10.60\home\test\filexilla.exe(The filename, directory name, or volume label syntax is incorrect) 

Ниже мой код:

fileInputStream = new FileInputStream(new File("E:\\Sunnywellshare\\perl\\filezilla.exe")) 
//this code is working fine 

fileInputStream = new FileInputStream(new File("http://10.127.10.10/test/filezilla.exe")); 
//this code is from remote location.and throwing error 

Как решить FileNotFoundException?

ответ

0

Вы не можете открыть URL-адрес, используя FileInputStream! Вы можете использовать URLConnection и получить InputStream; то вам придется скопировать все данные из InputStream и (предположительно) сохранить их в локальный файл.

-1
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

В классах 'Reader' здесь будет использоваться файл' * .exe', который является двоичным, а не символьным. Вы должны использовать 'InputStream' из' URL' напрямую. –

+0

Я думаю, вам нужно немного прочитать, прежде чем дать свой ответ: http://docs.oracle.com/javase/tutorial/networking/urls/readingURL.html – Churk

+0

Ваш код подходит для чтения файла HTML (например,), но не для загрузки файла '* .exe', о чем и идет речь. Если вы используете этот код для двоичных данных, таких как '* .exe', файл будет поврежден. –