Artikel ini telah membagikan contoh kemasan file Javaweb dan unduhan batch untuk referensi Anda. Konten spesifiknya adalah sebagai berikut
// Batch download unresolved job @RequestMapping(value = "/downloadAllHomework", method = RequestMethod.GET) public void downloadAllHomework(HttpSession httpSession, HttpServletRequest request, HttpServletResponse response, String assignmentid, int classCode) throws Exception { Site site = (Site) httpSession.getAttribute("site"); String siteId = site.getId (); // dapatkan detail pekerjaan berdasarkan penugasan ID Pekerjaan, penugasan DEIMENTDETAIL = penugasan servicews.getassignmentDetail (penugasan); generateParameters (penugasan); // Informasinya tidak lengkap dan perlu diisi nanti. Daftar <penugasan UNTUK PENGHARGAAN = penugasan server.getsubmitedAssignmentStudent (penugasan); // Dapatkan semua Daftar SubmitID <String> submitIds = ArrayList baru <String> (); untuk (int i = 0; i <penugasan cupitlist.size (); i ++) {string submitId = penugasan UsahaBMitList.get (i) .getId (); if (submitid == null || submitid == "") lanjutkan; submitids.add (submitId); } // Dapatkan Daftar Rincian Kiriman <SecugeMentsUBMITS> penugasan NEW ARRAYLIST baru <ImageMENTSUBMIT> (); untuk (string a: submitIds) {penugasan as = penugasan servicews.getsubmitassignment (a); penugasan ditugasi.add (AS); } // Tetapkan setiap siswa yang telah mengirimkan penugasan peta, nama pengguna-> penugasan peta <string, penugasan, SiswaSubMitMap = hashmap baru <string, penugasan pabrikan> (); untuk (penugasan penugasan penugasan: penugasan penugasan) {string studentId = penugasan publmit.getUserName (); SiswaSubmitMap.put (StudentID, TugasSubmit); } // Dapatkan ID siswa dari semua siswa di kelas sesuai dengan nomor kelas, dan kemudian dapatkan daftar terperinci berdasarkan daftar ID Student <ImageMentSubMit> penugasan StudentList = new ArrayList <ImageMentSubMit> (); Daftar <GanTVO> StudentList = MemberServicews.getstudents (SiteId, ClassCode); untuk (anggota Membervo: StudentList) {string username = student.getId (); String realname = student.getName (); Penugasan penugasan penugasan = penugasan baru (); if (studentubmitmap.get (username)! = null) {penugasan subsuren = studentubmitmap.get (nama pengguna); } penugasan Usaha.setrealName (RealName); penugasan ditugasi.setusername (nama pengguna); generatea (penugasan); penugasan statstudentlist.add (penugasan); } Daftar <ImageMentSUBMIT> SubtitedList = ArrayList baru <ImecehmentsubMit> (); untuk (penugasan sebagai: penugasan studentlist) {if (as.getGradePoint () == null && as.getassignmentId ()! = null) submitedlist.add (as); } Daftar <FILE> File = NEW ARRAYLIST <FILE> (); File file = file baru ("d: /css.rar"); if (! file.exists ()) {file.createNewFile (); } response.reset (); // response.getWriter () // Buat file output file output fileOutputStream fus = new fileoutputStream (file); // Dalam metode yang dikemas, kami akan menggunakan aliran output seperti ZipoutputStream, jadi di sini kami mengonversi aliran output ZipoutputStream zipout = new ZipoutputStream (FOUS); untuk (penugasan a: kirimitedlist) {untuk (lampiran aa: a.getattachids ()) {coba {string fileid = aa.getId (); String cloudFileUrl = "http://xxx.xxx.xxx.xxx:8066/imageservice/downloadfile/"; String fileurl = pengumuman service.getAttachmentByFileId (fileId) .getUrlupload (); fileurl = fileurl.substring (fileurl.lastIndexof ("/") + 1); fileurl = cloudFileUrl + fileurl; String filename = pengumuman service.getAttachmentByFileId (fileId) .getName (); // Dapatkan nama file file jarak jauh. // response.addheader ("konten-disposisi", "lampiran; fileName =" + // string baru (filename.getbytes ("gbk"), "iso-8859-1")); // ISO-8859-1 Entri ZipEntry = ZipEntry baru (string baru (filename.getbytes ("gbk"), "iso-8859-1")); zipout.putNextEntry (entri); Url urlfile = null; HttpurlConnection httpurl = null; urlfile = URL baru (fileurl); httpurl = (httpurlconnection) urlfile.openconnection (); httpurl.connect (); InputStream downloadFile = httpurl.getInputStream (); int len = 0; byte [] buf = byte baru [1024]; while ((len = downloadfile.read (buf, 0, 1024))! = -1) {zipout.write (buf, 0, len); }} catch (jsonexception e) {e.printstacktrace (); } catch (UnsupportedEncodingException e) {e.printstacktrace (); }}}} zipout.close (); fous.close (); downloadzip (file, respons); } // Buat semua file yang diterima ke dalam paket terkompresi public httpservletResponse downloadzip (file file, respons httpservletResponse) {coba {// unduh file dalam bentuk aliran. InputStream fis = baru bufferedInputStream (fileInputStream baru (file.getPath ())); byte [] buffer = byte baru [fis.available ()]; fis.read (buffer); fis.close (); // Clear Response Response Response.reset (); OutputStream ToClient = baru bufferedOutputStream (response.getoutputStream ()); response.setContentType ("Application/Octet-stream"); // Jika output adalah file dengan nama Cina, Anda harus menggunakan metode urlencoder.encode untuk memproses respons.setHeader ("Disposisi Konten", "Lampiran; FileName =" + Urlencoder.encode (file.getName (), "UTF-8"))); toclient.write (buffer); toclient.flush (); toclient.close (); } catch (ioException ex) {ex.printstacktrace (); } akhirnya {coba {file f = file baru (file.getPath ()); f.delete (); } catch (Exception e) {E.PrintStackTrace (); }} return response; }Alamat blog! http://oldriver.top/ Manual Teknis Pengemudi Lama
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.