讀取網絡文件寫到本地


package file;

import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;

/**
 * 讀取網絡文件寫到本地
 */
public class InputStreamTest {

    public static void main(String[] args) throws Exception {

        // 網絡附件url
        String path = "http://www.pptbz.com/pptpic/UploadFiles_6909/201203/2012031220134655.jpg";
        //保存到本地F盤
        String name = "F:\\2012031220134655.jpg";

        URL url = new URL(path);
        //鏈接url
        URLConnection uc = url.openConnection();
        //獲取輸入流
        InputStream in = uc.getInputStream();
        byte[] data = readInputStream(in);
        File file = new File(name);
        FileOutputStream outputStream = null;
        try {
            outputStream = new FileOutputStream(file);
            outputStream.write(data);
        } catch (Exception e) {

        } finally {
            outputStream.close();
        }
    }

    public static byte[] readInputStream(InputStream inStream) throws Exception {
        ByteArrayOutputStream outStream = new ByteArrayOutputStream();
        //創建一個Buffer字符串
        byte[] buffer = new byte[1024];
        //每次讀取的字符串長度,如果為-1,代表全部讀取完畢
        int len = 0;
        //使用一個輸入流從buffer里把數據讀取出來
        while ((len = inStream.read(buffer)) != -1) {
            //用輸出流往buffer里寫入數據,中間參數代表從哪個位置開始讀,len代表讀取的長度
            outStream.write(buffer, 0, len);
        }
        //關閉輸入流
        inStream.close();
        //把outStream里的數據寫入內存
        return outStream.toByteArray();
    }

}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM