Dieser Artikel hat die Beispiele für die Javaweb -Dateiverpackung und den Stapel -Download für Ihre Referenz geteilt. Der spezifische Inhalt ist wie folgt
// Batch -Download ungelöster Job @RequestMapping (value = "/downloadallHomework", method = requestMethod.get) public void downloadAllHomework (httpSession httpSession, httpServletRetRetRequest -Anforderung, HttpServletResponse -Antwort, String -Zuweisung, Int ClassCode). String siteId = Site.getId (); // Jobdetails basierend auf der Auftrags -ID -AbtretungDetail -ZuweisungDetail = ordnungsgemäßeWs.getAssignmentDetail (ordnungsgemäß) erhalten; GenerateParameters (Auftragsdetail); // Die Informationen sind unvollständig und müssen später gefüllt werden. Liste <ordnungssubmitlist = telemmentsservicews.getSubMitedSsignmentStudent (ordnungsgemäß); // Alle SubmitID -Liste <string> endenIds = new ArrayList <string> () erhalten; für (int i = 0; i <ordnungssubmitlist.size (); i ++) {string submitid = ordnungssubmitlist.get (i) .getId (); if (subineId == null || submitid == "") Fortsetzung; subjektids.add (subjekt); } // Liste der Einreichungsdetails erhalten <StrarsSubMits> ZuweisungensUbMits = New ArrayList <StrainmentsSubmit> (); für (Zeichenfolge A: SubmitIDs) {ordnungssubmit as = ordnungsdervicews.getSubmitaSsignment (a); ordnungssubMits.add (as); } // Zuweisen Sie jedem Schüler, der die Zuordnung eine Karte, Benutzername-> ordnungssubmit Map <String, Zuweisungen, assicentSubmit> studentsUbmitmap = new Hashmap <String, Zuweisungensubmit> () eingereicht hat. für (ordnungssubmit -ordnungssubmits: ordnungssubMits) {String studentID = ordnungssubmit.getUername (); studentsubmitmap.put (studentID, ordnungssubmit); } // Die Schüler -ID aller Schüler in der Klasse gemäß der Klassnummer erhalten und dann die detaillierte Liste basierend auf der Schüler -ID -Liste <StrankitsBit> ordnungsgerätestudentlist = new ArrayList <StrarsSubmit> () erhalten; LIST <MitersVo> studentList = memberServicews.getstudentents (SiteId, Classcode); für (membervo student: studentList) {String username = student.getId (); String realname = student.getName (); Ordnungssubmit -ordnungssubmits = new ordnungssubmit (); if (studentsubmitmap.get (Benutzername)! } ordnungssubmit.setRealName (RealName); ordnungssubmit.setusername (Benutzername); Generatea (ordnungsgemäße); ordnungsgerätestudentlist.add (ordnungssubmit); } List <StrainmentsSubmit> ordnungslist = new ArrayList <StrainmentsSubmit> (); for (ordnungssubmit as: ordnungsgerätestudentlist) {if (as.getGradePoint () == null && as.getAssignmentId ()! } List <datei> file = new ArrayList <Datei> (); Datei Datei = neue Datei ("d: /css.rar"); if (! file.exists ()) {file.createNewFile (); } response.reset (); // response.getwriter () // Dateiausgabe Stream FileOutputStream fus = new FileOutputStream (Datei); // In der verpackten Methode verwenden wir einen Ausgangsstrom wie ZipoutputStream. Hier konvertieren wir den Ausgangsstrom ZipoutputStream -Zipout = neuer ZipoutputStream (fous). für (ordnungssubmit a: ordnungslist) {für (contATEIDS aa: a.getattachids ()) {try {string FileId = aa.getId (); String cloudFileurl = "http://xxx.xxx.xxx.xxx:8066/imageService/downloadfile/"; String fileUrl = pouscementService.getattachmentByFileId (FileId) .GetUrlUpload (); fileUrl = fileurl.substring (FileUrl.lastindexof ("/") + 1); FileURL = CloudFileURL + FileURL; String -Dateiname = AnsCementService.getAtAtAnmentByFileId (DateiId) .getName (); // Erhalten Sie den Dateinamen der Remotedatei. // response.addHeader ("Content-Disposition", "Attachment; Dateiname =" + // New String (Dateiname.getBytes ("GBK"), ISO-8859-1 "); // ISO-8859-1 Zipentry-Eintrag = neu Zipentry (neuer String (Dateiname.getBytes ("GBK"), "ISO-8859-1")); zipout.putNextEntry (Eintrag); URL URLFILE = NULL; HttpurlConnection httpurl = null; urlFile = new URL (FileURL); httpurl = (httpurlConnection) urlFile.OpenConnection (); httpurl.connect (); InputStream downloadFile = httpurl.getInputStream (); int len = 0; byte [] buf = neues byte [1024]; while ((len = downloadFile.read (buf, 0, 1024))! = -1) {zipout.write (buf, 0, len); }} catch (jSonexception e) {e.printstacktrace (); } catch (unportedenCodingException e) {e.printstacktrace (); }}}} zipout.close (); fous.close (); Downloadzip (Datei, Antwort); } // Machen Sie alle akzeptierten Dateien in komprimierte Pakete. InputStream fis = new BufferedInputStream (neuer FileInputStream (Datei.GetPath ())); byte [] buffer = new byte [fis.Available ()]; fis.read (puffer); fis.close (); // Reaktionsantwort löschen.reset (); OutputStream toclient = new bufferedOutputStream (response.getOutputStream ()); response.setContentType ("Anwendung/Oktett-Stream"); // Wenn es sich bei der Ausgabe um eine Datei mit einem chinesischen Namen handelt, müssen Sie die Methode urlencoder.encode verwenden, um die Antwort zu verarbeiten Toclient.write (Puffer); toclient.flush (); toclient.close (); } catch (ioException ex) {ex.printstacktrace (); } endlich {try {Datei f = neue Datei (file.getPath ()); f.delete (); } catch (Ausnahme e) {e.printstacktrace (); }} Rückgabeantwort; }Blog -Adresse! http://oldriver.top/ Technisches Handbuch der alten Treiber
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.