Home  >  Article  >  Java  >  How to download Http content in java

How to download Http content in java

WBOY
WBOYforward
2023-05-28 15:52:131237browse

1. Download process

On the Internet, if we want to download a resource on the website, we will get a URL (UniformResource Locator), which is a server resource Positioning description, the download process is often as follows:

(1) The client initiates a connection request for a URL

(2) The server parses the URL and returns the specified resource to an input stream. Client

(3) The client receives the input stream and saves the content in the stream to file

2, instance

package com.hu.down;
 
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
 
public class DownFile {
 
public final static boolean DEBUG = true; //调试用
    private static int BUFFER_SIZE = 1024; //缓冲区大小
    
    public void saveToFile(String destUrl){
    
        BufferedInputStream bis = null;
        HttpURLConnection httpUrl = null;
        URL url = null;
        byte[] buf = new byte[BUFFER_SIZE];
        
        try {
url = new URL(destUrl);
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
System.out.println(destUrl+"资源URL语法错误,请检查字符串是否正确!");
return;
}
        try {
httpUrl = (HttpURLConnection) url.openConnection();
} catch (IOException e) {
System.out.println("打开到 "+destUrl+"所引用的远程对象的连接失败");
}
        
        try {
httpUrl.connect();
} catch (IOException e) {
System.out.println("打开到此 "+destUrl+" 引用的资源的通信链接失败");
return;
}
        
        
        try {
bis = new BufferedInputStream(httpUrl.getInputStream());
} catch (IOException e) {
System.out.println("取得连接的Input流失败");
return;
}
        
        File file = new File("D:/upload" + destUrl.substring(destUrl.lastIndexOf("/")));
        
        BufferedOutputStream fileOut=null;
try {
fileOut = new BufferedOutputStream(new FileOutputStream(file));
} catch (FileNotFoundException e) {
System.out.println(file+"在本地保存文件失败");
e.printStackTrace();
}
        try{
         while (true) {
                int bytesIn = bis.read(buf, 0, 1024);
                if (bytesIn == -1) {
                   break;
                } else {
                   fileOut.write(buf, 0, bytesIn);
                }
             }
             
             fileOut.flush();
             fileOut.close();
        }catch(Exception ee){
         System.out.println(file+"保存文件过程失败");
        }
         System.out.println(file.getAbsolutePath()+"下载完毕");
        
    }
public static void main(String[] args) throws IOException {
DownFile d=new DownFile();
String youclass="11003080";
String baseUrl="http://photo/"+youclass;
for(int i=301;i<=340;i++)
{  
d.saveToFile(baseUrl+i+".jpg");
}
}
 
}

The above is the detailed content of How to download Http content in java. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:yisu.com. If there is any infringement, please contact admin@php.cn delete