Ontem, quando eu estava trabalhando em um projeto, usei o conhecimento de baixar arquivos do servidor e salvá -los na área local. Eu nunca fui exposto a eles antes. Eu trabalhei neles por um dia ontem e essa pequena função foi implementada. Vamos falar brevemente sobre o processo de implementação abaixo;
1. Conhecimento básico
Quando queremos baixar um recurso no site, obteremos um URL, que é uma descrição do local do recurso do servidor. O processo de download tem as seguintes etapas:
(1) O cliente inicia uma solicitação de URL para obter o objeto de conexão.
(2) O servidor analisa o URL e retorna o recurso especificado ao cliente.
(3) Crie o diretório armazenado e o nome do arquivo salvo.
(4) Os dados de gravação são emitidos.
(5) Desligue o fluxo de entrada e o fluxo de saída.
2. Métodos para implementar o código
/** * @function Download Interface de material temporário * @param filepath O diretório a ser salvo no arquivo * @param método de solicitação de método, incluindo postagem e obtenha * @param url o caminho para solicitar * @return */public static) saveurlas (string url, string filepath, string) {//system.out.printlnnnnnnnnnnnnnnnnn"Fil dahilnguen, filepath, string) {//system.out.printlnnnnnnnnnnnnnashn furl furlguen, // crie diferentes diretórios de pastas arquivo arquivo = novo arquivo (filepath); // Determine se a pasta existe se (! File.exists ()) {// se a pasta não existir, crie uma nova pasta file.mkdirs (); } FileOutputStream fileout = null; HttpurlConnection Conn = null; InputStream inputStream = null; tente {// crie link url httpurl = new url (url); Conn = (httpurlConnection) httpurl.openconnection (); // Envie o formulário no modo de postagem, o método GET padrão é Conn.SetRequestMethod (Método); Conn.SetDoinput (true); Conn.SetDoOutput (true); // o Conn.setUseCaches em cache (false); // conecta o recurso especificado conectado.connect (); // Obtenha o fluxo de entrada de rede inputStream = Conn.getInputStream (); BufferInputStream bis = new bufferInputStream (inputStream); // Determine se o caminho de salvamento do arquivo termina com/if (! Filepath.endswith ("/")) {filepath += "/"; } // grava no arquivo (observe que o nome do arquivo deve ser adicionado após o caminho de salvamento do arquivo) FileOut = new FileOutputStream (FilePath+"123.png"); BufferOutputStream bos = new BufferoudOutputStream (fileout); byte [] buf = novo byte [4096]; int length = bis.read (buf); // salve o arquivo while (comprimento! = -1) {bos.write (buf, 0, comprimento); comprimento = bis.read (buf); } bos.close (); bis.close (); Conn.Disconnect (); } catch (Exceção e) {e.printStackTrace (); System.out.println ("Jogue uma exceção !!"); } retornar arquivo; } 3.
/** * @param args */ public static void main(String[] args) { String photoUrl = "https://ss0.bdstatic.com/5aV1bjqh_Q23odCf/static/superman/img/logo/bd_logo1_31bdc765.png"; String filename = PhoTourl.substring (PhoTourl.LastIndexOf ("/")); //System.out.println("filename--->"+Filename); String filepath = "D:"; Arquivo de arquivo = saveurlas (fotourl, filepath + arquivo de arquivo, "get"); System.out.println ("Execute OK!/N <br> Obtenha o arquivo URL" + arquivo); }O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.