บทความนี้ได้แชร์ตัวอย่างของบรรจุภัณฑ์ไฟล์ Javaweb และดาวน์โหลดแบทช์สำหรับการอ้างอิงของคุณ เนื้อหาเฉพาะมีดังนี้
// batch ดาวน์โหลดงานที่ไม่ได้รับการแก้ไข @requestmapping (value = "/downloadallhomework", method = requestmethod.get) โมฆะสาธารณะดาวน์โหลด allhomework (httpsession httpsession, httpservletrequest คำขอ httpsertResponse String siteid = site.getId (); // ได้รับรายละเอียดงานตาม ID งานที่กำหนด detymentDetail = AssignmentserviceWs.getAssignmentDetail (AssignmentId); GenerateParameters (AssignmentDetail); // ข้อมูลไม่สมบูรณ์และจำเป็นต้องกรอกในภายหลัง รายการ <AssignmentsUbMitList = AssignMentserviceWs.getSubMitedAssignmentStudent (AssignmentId); // รับรายการ SubmentId ทั้งหมด <string> submentIds = new ArrayList <String> (); สำหรับ (int i = 0; i <emalementsubmitlist.size (); i ++) {string submentId = AssignmentsUbmitList.get (i) .getId (); if (submentId == null || submentId == "") ดำเนินการต่อ; Submentids.add (Submitid); } // รับรายละเอียดการส่งรายละเอียด <AntementSubMits> AssignMentsUbMits = arrayList ใหม่ <sateMentsUbMit> (); สำหรับ (String A: SubmentIds) {AssignmentsUbmit เป็น = AssignmentserviceWs.getSubmitassignment (a); Assignmentsubmits.add (AS); } // กำหนดนักเรียนแต่ละคนที่ส่งแผนที่การมอบหมายชื่อผู้ใช้-> AssignmentsUbmit Map <String, AssignmentsUbmit> StudentsUbmitMap = HashMap ใหม่ <String, AssignmentsUbmit> (); สำหรับ (AssignmentsUbMit AssignmentsUbmit: AssignmentsUbmits) {String studentId = AssignmentsUbmit.getUserName (); studentsUbmitmap.put (studentId, AssignmentsUbmit); } // รับรหัสนักเรียนของนักเรียนทุกคนในชั้นเรียนตามหมายเลขชั้นเรียนจากนั้นรับรายการโดยละเอียดตามรายการรหัสนักเรียน <sateMentsUbMit> AssignmentStudentList = new ArrayList <AsymentSubMit> (); รายการ <MemberVo> studentList = memberserviceWs.getStudents (siteid, classCode); สำหรับ (MemberVo Student: StudentList) {String username = student.getId (); String realName = student.getName (); AssignmentsUbMit AssignmentsUbmit = new AssignmentsUbmit (); if (StudentsUbmitMap.get (ชื่อผู้ใช้)! = null) {AssignmentsUbmit = studentsubmitmap.get (ชื่อผู้ใช้); } AssignmentsUbmit.setRealName (realName); Assignmentsubmit.setUserName (ชื่อผู้ใช้); Generatea (Assignmentsubmit); AssignmentStudentList.add (AssignmentsUbmit); } list <sateMentsUbMit> SUMPITTINGLIST = new ArrayList <AssimentSubMit> (); สำหรับ (AssignmentsUbmit AS: AssignmentStudentList) {ถ้า (as.getGradePoint () == null && as.getAssignmentId ()! = null) submittedList.add (AS); } รายการ <file> files = new ArrayList <File> (); ไฟล์ไฟล์ = ไฟล์ใหม่ ("d: /css.rar"); if (! file.exists ()) {file.createnewFile (); } response.reset (); // response.getWriter () // สร้างสตรีมเอาต์พุตไฟล์ FileOutputStream FUS = ใหม่ fileOutputStream (ไฟล์); // ในวิธีการแพคเกจเราจะใช้สตรีมเอาท์พุทเช่น zipoutputStream ดังนั้นที่นี่เราจะแปลง zipoutputStream zipout = new ZipOutputStream (fous); สำหรับ (AssignmentsUbmit A: SUMPITTINGLIST) {สำหรับ (AttachIds AA: A.GetAttachids ()) {ลอง {String fileId = aa.getId (); String CloudFileUrl = "http://xxx.xxx.xxx.xxx:8066/imageservice/downloadfile/"; String fileUrl = ประกาศใช้บริการ. getAttachmentByFileID (fileID) .getUrlUpload (); fileUrl = fileUrl.substring (fileUrl.AlastIndexof ("/") + 1); fileUrl = CloudFileUrl + fileUrl; string filename = ประกาศ armementservice.getAttachmentByFileID (fileId) .getName (); // รับชื่อไฟล์ของไฟล์ระยะไกล // response.addheader ("เนื้อหา-การจัดหา", "attachment; filename =" + // สตริงใหม่ (filename.getBytes ("GBK"), "ISO-8859-1")); // iso-8859-1 รายการ zipentry = new Zipentry (สตริงใหม่ (filename.getBytes ("GBK"), "ISO-8859-1")); zipout.putnextentry (รายการ); url urlfile = null; httpurlConnection httpurl = null; urlfile = url ใหม่ (fileUrl); httpurl = (httpurlconnection) urlfile.openconnection (); httpurl.connect (); InputStream ดาวน์โหลด file = httpurl.getInputStream (); int len = 0; ไบต์ [] buf = ไบต์ใหม่ [1024]; ในขณะที่ ((len = downloadfile.read (buf, 0, 1024))! = -1) {zipout.write (buf, 0, len); }} catch (jSonexception e) {e.printstacktrace (); } catch (unsupportencodingexception e) {e.printstacktrace (); }}}} zipout.close (); fous.close (); downloadzip (ไฟล์, ตอบกลับ); } // สร้างไฟล์ที่ได้รับการยอมรับทั้งหมดลงในแพ็คเกจที่บีบอัด httpservletResponse ดาวน์โหลด (ไฟล์ไฟล์, การตอบกลับ httpservletResponse) {ลอง {// ดาวน์โหลดไฟล์ในรูปแบบของสตรีม InputStream FIS = ใหม่ bufferedInputStream (ใหม่ FileInputStream (file.getPath ())); ไบต์ [] บัฟเฟอร์ = ไบต์ใหม่ [fis.available ()]; fis.read (บัฟเฟอร์); fis.close (); // การตอบสนองการตอบสนองที่ชัดเจน Response.reset (); OutputStream toClient = ใหม่ bufferedOutputStream (response.getOutputStream ()); Response.SetContentType ("แอปพลิเคชัน/octet-stream"); // ถ้าเอาต์พุตเป็นไฟล์ที่มีชื่อภาษาจีนคุณต้องใช้เมธอด urlencoder.encode เพื่อประมวลผลการตอบสนอง setheader ("เนื้อหา-การจัดสรร", "ไฟล์แนบ; filename =" + urlencoder.encode (file.getName (), "UTF-8")); toClient.write (บัฟเฟอร์); toClient.flush (); toClient.close (); } catch (ioexception ex) {ex.printstacktrace (); } ในที่สุด {ลอง {ไฟล์ f = ไฟล์ใหม่ (file.getPath ()); F.Delete (); } catch (exception e) {e.printstacktrace (); }} การตอบกลับส่งคืน; -ที่อยู่บล็อก! http://oldriver.top/ คู่มือทางเทคนิคของไดรเวอร์เก่า
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น