關於java讀取遠程檔案時網路逾時判斷

來源:互聯網
上載者:User

今天遠程FTP突然掛掉了,導致讀取FTP的遠程檔案的程式僵死線上程了。檢查發現是代碼沒有判斷逾時異常判斷。現已修改,如下。

/** * 將遠程檔案臨時寫進本地 * @param ftpUrl * @param outputPath */public static boolean writeFtpFile2Local(String ftpUrl, String outputPath) {System.out.println("開始寫檔案到本地");URLConnection con=null;FileOutputStream fs =null;try {// 串連指定的網路資源,擷取網路輸入資料流URL u=new URL(ftpUrl);int bytesum = 0;int byteread = 0;con=u.openConnection();System.setProperty("sun.net.client.defaultConnectTimeout", "60000");//jdk1.4換成這個,連線逾時            System.setProperty("sun.net.client.defaultReadTimeout", "60000"); //jdk1.4換成這個,讀操作逾時con.connect();InputStream inStream = con.getInputStream();fs= new FileOutputStream(outputPath);byte[] buffer = new byte[1444];while ((byteread = inStream.read(buffer)) != -1) {bytesum += byteread;fs.write(buffer, 0, byteread);}return true;} catch (Exception e) {System.out.println("讀取遠程檔案到本地失敗。請與系統管理員聯絡!"+ftpUrl);e.printStackTrace();return false;}finally{try {if(fs!=null){fs.close();fs=null;}if(con!=null){con=null;}} catch (IOException e) {e.printStackTrace();}}}



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.