ตัวอย่างในบทความนี้แชร์รหัสเฉพาะสำหรับการดาวน์โหลดไฟล์การใช้งาน Java สำหรับการอ้างอิงของคุณ เนื้อหาเฉพาะมีดังนี้
ดาวน์โหลด httpservletResponse สาธารณะ (เส้นทางสตริง, การตอบกลับ httpservletResponse) {ลอง {// พา ธ หมายถึงเส้นทางของไฟล์ที่จะดาวน์โหลด ไฟล์ไฟล์ = ไฟล์ใหม่ (พา ธ ); // รับชื่อไฟล์ String filename = file.getName (); // รับชื่อต่อท้ายของไฟล์ String ext = filename.substring (filename.AlastIndexof (".") + 1) .touppercase (); // ดาวน์โหลดไฟล์ในรูปแบบของสตรีม InputStream FIS = ใหม่ bufferedInputStream (ใหม่ FileInputStream (พา ธ )); ไบต์ [] บัฟเฟอร์ = ไบต์ใหม่ [fis.available ()]; fis.read (บัฟเฟอร์); fis.close (); // การตอบสนองการตอบสนองที่ชัดเจน Response.reset (); // ตั้งค่าการตอบสนองส่วนหัวของการตอบกลับ ADDHEADER ("เนื้อหา-การจัดสรร", "ไฟล์แนบ; fileName =" + สตริงใหม่ (ชื่อ filename.getBytes ())); response.addheader ("ความยาวเนื้อหา", "" + file.length ()); OutputStream toClient = ใหม่ bufferedOutputStream (response.getOutputStream ()); Response.SetContentType ("แอปพลิเคชัน/octet-stream"); toClient.write (บัฟเฟอร์); toClient.flush (); toClient.close (); } catch (ioexception ex) {ex.printstacktrace (); } ตอบกลับการตอบกลับ; } โมฆะสาธารณะดาวน์โหลด local (การตอบสนอง httpservletResponse) พ่น filenotfoundexception {// ดาวน์โหลดไฟล์สตริงไฟล์ท้องถิ่น filename = "operator.doc" .toString (); // ชื่อบันทึกเริ่มต้นของไฟล์ // อ่าน InputStream Instream = ใหม่ FileInputStream ("C: /Operator.doc"); // พา ธ การจัดเก็บไฟล์ // ตั้งค่ารูปแบบของเอาต์พุต response.reset (); Response.SetContentType ("bin"); Response.addheader ("เนื้อหา-การจัดสรร", "เอกสารแนบ; filename =/" " + filename +"/""); // วนข้อมูลในไบต์สตรีม [] b = ไบต์ใหม่ [100]; int len; ลอง {ในขณะที่ ((len = stream.read (b))> 0) response.getOutputStream (). เขียน (b, 0, len); Instream.close (); } catch (ioexception e) {e.printstacktrace (); }} โมฆะสาธารณะ DownloadNet (การตอบสนอง httpservletResponse) พ่น malformedurlexception {// ดาวน์โหลดไฟล์เครือข่าย int bytesum = 0; int byteread = 0; url url = url ใหม่ ("windine.blogdriver.com/logo.gif"); ลอง {urlConnection conn = url.openconnection (); InputStream Instream = conn.getInputStream (); fileOutputStream fs = new fileOutputStream ("C: /abc.gif"); ไบต์ [] บัฟเฟอร์ = ไบต์ใหม่ [1204]; ความยาว int; ในขณะที่ ((byteread = stream.read (บัฟเฟอร์))! = -1) {bytesum += byteread; System.out.println (bytesum); fs.write (บัฟเฟอร์, 0, byteread); }} catch (filenotfoundException e) {e.printStackTrace (); } catch (ioexception e) {e.printstacktrace (); -// วิธีเปิดไฟล์ออนไลน์
ดาวน์โหลดโมฆะสาธารณะ (String FilePath, การตอบสนอง httpservletResponse, บูลีน isonline) พ่นข้อยกเว้น {ไฟล์ f = ไฟล์ใหม่ (filepath); if (! f.exists ()) {response.senderror (404, "ไม่พบไฟล์!"); กลับ; } bufferedInputStream br = ใหม่ bufferedInputStream (ใหม่ FileInputStream (F)); ไบต์ [] buf = ไบต์ใหม่ [1024]; int len = 0; Response.reset (); // สำคัญมากถ้า (isOnline) {// ออนไลน์วิธีเปิด URL U = URL ใหม่ ("ไฟล์: ////" + filePath); Response.SetContentType (U.OpenConnection (). getContentType ()); Response.SetheAder ("เนื้อหา-การจัดสรร", "inline; filename =" + f.getName ()); // ชื่อไฟล์ควรเข้ารหัสเป็น utf-8} else {// วิธีการดาวน์โหลดบริสุทธิ์ response.setContentType ("แอปพลิเคชัน/x-msdownload"); Response.SetheAder ("เนื้อหา-การจัดสรร", "สิ่งที่แนบมา; ชื่อไฟล์ =" + f.getName ()); } outputStream out = response.getOutputStream (); ในขณะที่ ((len = br.read (buf))> 0) out.write (buf, 0, len); br.close (); out.close (); -ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น