Kemarin, ketika saya sedang mengerjakan sebuah proyek, saya menggunakan pengetahuan mengunduh file dari server dan menyimpannya ke area lokal. Saya belum pernah terpapar dengan mereka sebelumnya. Saya mengerjakannya selama sehari kemarin dan fungsi kecil ini diimplementasikan. Mari kita bicara secara singkat tentang proses implementasi di bawah ini;
1. Pengetahuan Dasar
Ketika kami ingin mengunduh sumber daya di situs web, kami akan mendapatkan URL, yang merupakan deskripsi lokasi sumber daya server. Proses unduhan memiliki langkah -langkah berikut:
(1) Klien memulai permintaan URL untuk mendapatkan objek koneksi.
(2) Server mem -parsing URL dan mengembalikan sumber daya yang ditentukan ke klien.
(3) Buat direktori yang disimpan dan nama file yang disimpan.
(4) Tulis data adalah output.
(5) Matikan aliran input dan aliran output.
2. Metode untuk mengimplementasikan kode
/** * @Function Unduh Antarmuka Bahan Temparary * @param FilePath Direktori yang akan disimpan dalam file * @param Metode Metode Permintaan, termasuk postingan dan dapatkan * @param url jalur untuk meminta * @return */file statis public saveurlas (string url, string filepath, string metode) {//sysystem.out.printlnLas. // Buat file Direktori Folder yang berbeda = File baru (FilePath); // Tentukan apakah folder ada jika (! File.exists ()) {// Jika folder tidak ada, buat file folder baru.mkdirs (); } FileOutputStream fileout = null; HttpurlConnection conn = null; InputStream inputStream = null; coba {// buat tautan url httpurl = url baru (url); conn = (httpurlConnection) httpurl.openconnection (); // Kirim formulir dalam mode pos, metode GET default adalah conn.setRequestMethod (metode); Conn.setDoInput (true); Conn.SetDoOutput (true); // conn.setusecaches yang di -cache (false); // Sambungkan sumber daya yang ditentukan Connected.connect (); // Dapatkan Input Stream Input Network InputStream = conn.getInputStream (); BufferedInputStream bis = baru bufferedInputStream (inputStream); // Tentukan apakah jalur penyimpanan file berakhir dengan/if (! FilePath.endswith ("/")) {filepath += "/"; } // Tulis ke file (perhatikan bahwa nama file harus ditambahkan setelah jalur menyimpan file) fileout = new FileOutputStream (FilePath+"123.png"); BufferedOutputStream bos = baru bufferedoutputStream (fileout); byte [] buf = byte baru [4096]; panjang int = bis.read (buf); // simpan file while (length! = -1) {bos.write (buf, 0, length); panjang = bis.read (buf); } bos.close (); bis.close (); Conn.Disconnect (); } catch (Exception e) {E.PrintStackTrace (); System.out.println ("Lempar pengecualian !!"); } return file; } 3. Kelas Tes Kode (Fungsi Utama)
/** * @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:"; File file = saveUrlas (photourl, filepath + filename, "get"); System.out.println ("Jalankan OK!/N <br> Dapatkan file url" + file); }Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.