昨日、私がプロジェクトに取り組んでいたとき、私はサーバーからファイルをダウンロードしてローカルエリアに保存する知識を使用しました。私は以前に彼らにさらされたことがありません。私は昨日1日彼らに取り組みましたが、この小さな機能が実装されました。以下の実装プロセスについて簡単に説明しましょう。
1。基本的な知識
Webサイトにリソースをダウンロードしたい場合は、サーバーのリソースの場所の説明であるURLを取得します。ダウンロードプロセスには次の手順があります。
(1)クライアントは、接続オブジェクトを取得するためのURL要求を開始します。
(2)サーバーはURLを解析し、指定されたリソースをクライアントに返します。
(3)保存されたディレクトリと保存されたファイル名を作成します。
(4)データの書き込みは出力です。
(5)入力ストリームと出力ストリームをオフにします。
2。コードを実装する方法
/** * @function一時的なマテリアルインターフェイスをダウンロード * @param filepath fileに保存されるディレクトリ * @paramメソッドリクエストメソッドを含む * @param url @param url request * @return */public static file saveurlas(string filepath、string method){///system.out.out.out.out.out-- fileapath); //異なるフォルダーディレクトリファイル= new File(filepath)を作成します。 //フォルダーが存在するかどうかを判断します} fileoutputStream fileout = null; httpurlconnection conn = null; inputstream inputstream = null; try {// link url httpurl = new url(url)を作成します。 conn =(httpurlconnection)httpurl.openconnection(); //フォームをポストモードで送信すると、デフォルトのGETメソッドはconn.setRequestMethod(メソッド)です。 conn.setDoinput(true); conn.setDoOutput(true); //キャッシュされたconn.setusecaches(false); //指定されたリソースConnected.Connect()を接続します。 //ネットワークを取得しますinput stream inputstream = conn.getInputStream(); BufferedInputStream bis = new BufferedInputStream(inputStream); //ファイルの保存パスが/if(!filepath.endswith( "/"))で終わるかどうかを決定します{filepath += "/"; } //ファイルに書き込み(ファイルの保存パスの後にファイル名を追加する必要があることに注意してください)fileout = new fileoutputStream(filepath+"123.png"); BufferedOutputStream bos = new BufferedOutputStream(fileout); byte [] buf = new byte [4096]; int length = bis.read(buf); //(length!= -1){bos.write(buf、0、length); length = bis.read(buf); } bos.close(); bis.close(); conn.disconnect(); } catch(Exception e){e.printstacktrace(); system.out.println( "例外をスロー!!"); }ファイルを返します。 } 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";文字列filename = photourl.substring(photourl.lastindexof( "/")); //system.out.println("filename----> to+filename);文字列filepath = "d:"; file file = saveurlas(photourl、filepath + filename、 "get"); system.out.println( "run ok!/n <br> url file" + fileを取得); }上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。