2017-06-08 52 views
0

以下のコードを使用してファイル(35MB)をダウンロードしています。Javaダウンロードファイル:「接続タイムアウト:接続」

接続がタイムアウト:以下

は、ファイルのダウンロードプロセスのための私のJavaコードで接続するように、それは私に出力を提供します。この問題を解決するにはどうすればよいですか?手動接続のタイムアウトを設定すると、ファイルが正常にアップロードさせるのに十分な長さであろう時間を参照してコードを以下

//download file 
public void download(String url, File destination) throws IOException { 
    URL website = new URL(url); 
    ReadableByteChannel rbc = Channels.newChannel(website.openStream()); 
    FileOutputStream fos = new FileOutputStream(destination);   
    fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE); 
} 

public void parserAction() throws Exception { 
    // InputStream is = new FileInputStream("en-parser-chunking.bin"); 
    File modelFile = new File("en-parser-chunking.bin"); 

    if (!modelFile.exists()) { 
     System.out.println("Downloading model."); 
     download("file://E:/Final Project/Softwares and tools/en-parser-chunking.bin", modelFile); 

    }  
    ParserModel model = new ParserModel(modelFile); 
    Parser parser = ParserFactory.create(model); 
    Parse topParses[] = ParserTool.parseLine(line, parser, 1); 
    for (Parse p : topParses) { 
     //p.show(); 
     getNounPhrases(p); 
    } 
} 
+0

どのサーバーに接続しようとしていますか?どのラインがあなたにエラーを与えていますか? –

+0

ハードディスクのパーティションからWebアプリケーションにこのファイルをダウンロードしています。アップロードタスクに時間がかかり過ぎると、結局、接続がタイムアウトしました:connect。この時間を止める方法はありますか?またはダウンロードタスクをスピードアップしますか? – user8048032

+0

これは「接続がタイムアウトしました」というエラーです。問題はスピードではなく、実際にサーバーに接続できないということです。問題は、あなたがhttpでなければならない "ファイル"プロトコルを使用していることだと思います。 http://myserver/en-parser-chunking.bin "。 –

答えて

0

用途:

  String url;    

     try{  
     HttpURLConnection Conn = (HttpURLConnection) new URL(url).openConnection(); 

             Conn.setConnectTimeout(2000); 
             Conn.setReadTimeout(2000); 

      } 
    catch (java.lang.ClassCastException|ConnectException|java.lang.IllegalArgumentException|java.net.MalformedURLException ex) { } //catch the possible exception. 
    catch (SSLHandshakeException |SocketException | SocketTimeoutException | UnknownHostException ex) 

タイムズ紙は、方法によって、ミリ秒です。