zoukankan      html  css  js  c++  java
  • java远程下载文件到本地

    方法一 

    **
     * 下载远程文件并保存到本地
     * 
     * @param remoteFilePath-远程文件路径
     * @param localFilePath-本地文件路径(带文件名)
     */
    public void downloadFile(String remoteFilePath, String localFilePath) {
    	URL urlfile = null;
    	HttpURLConnection httpUrl = null;
    	BufferedInputStream bis = null;
    	BufferedOutputStream bos = null;
    	File f = new File(localFilePath);
    	try {
    		urlfile = new URL(remoteFilePath);
    		httpUrl = (HttpURLConnection) urlfile.openConnection();
    		httpUrl.connect();
    		bis = new BufferedInputStream(httpUrl.getInputStream());
    		bos = new BufferedOutputStream(new FileOutputStream(f));
    		int len = 2048;
    		byte[] b = new byte[len];
    		while ((len = bis.read(b)) != -1) {
    			bos.write(b, 0, len);
    		}
    		bos.flush();
    		bis.close();
    		httpUrl.disconnect();
    	} catch (Exception e) {
    		e.printStackTrace();
    	} finally {
    		try {
    			bis.close();
    			bos.close();
    		} catch (IOException e) {
    			e.printStackTrace();
    		}
    	}
    }
    

    方法二

    /**
     * 下载远程文件并保存到本地
     * 
     * @param remoteFilePath-远程文件路径
     * @param localFilePath-本地文件路径(带文件名)
     */
    public void downloadFile(String remoteFilePath, String localFilePath) {
    	URL website = null;
    	ReadableByteChannel rbc = null;
    	FileOutputStream fos = null;
    	try {
    		website = new URL(remoteFilePath);
    		rbc = Channels.newChannel(website.openStream());
    		fos = new FileOutputStream(localFilePath);//本地要存储的文件地址 例如:test.txt
    		fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);
    	} catch (Exception e) {
    		e.printStackTrace();
    	}finally{
    		if(fos!=null){
    			try {
    				fos.close();
    			} catch (IOException e) {
    				e.printStackTrace();
    			}
    		}
    		if(rbc!=null){
    			try {
    				rbc.close();
    			} catch (IOException e) {
    				e.printStackTrace();
    			}
    		}
    	}
    
    }
    

      

  • 相关阅读:
    188. Best Time to Buy and Sell Stock IV
    452. Minimum Number of Arrows to Burst Balloons
    435. Non-overlapping Intervals
    28. Implement strStr() KMP
    10. Regular Expression Matching
    877. Stone Game
    格式化日期
    Designer属性编辑器简介
    pandas 根据内容匹配并获取索引
    access 中sql语句之“like” 语句的用法
  • 原文地址:https://www.cnblogs.com/luoruiyuan/p/9132121.html
Copyright © 2011-2022 走看看