您好,登錄后才能下訂單哦!
小編給大家分享一下java如何實現不解壓直接讀取壓縮包中文件的,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
1. 簡單,只需理解基本的概念,就可以編寫適合于各種情況的應用程序;2. 面向對象;3. 分布性,Java是面向網絡的語言;4. 魯棒性,java提供自動垃圾收集來進行內存管理,防止程序員在管理內存時容易產生的錯誤。;5. 安全性,用于網絡、分布環境下的Java必須防止病毒的入侵。6. 體系結構中立,只要安裝了Java運行時系統,就可在任意處理器上運行。7. 可移植性,Java可以方便地移植到網絡上的不同機器。8.解釋執行,Java解釋器直接對Java字節碼進行解釋執行。
@RequestMapping(value = "packageUpload") public void packageUpload(HttpServletRequest request, HttpServletResponse response) { File file = null; try { MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; MultipartFile multipartFile = multipartRequest.getFile("file"); if (null == multipartFile){ return; } String originalFilename = multipartFile.getOriginalFilename(); //判斷上傳文件必須是zip或者是rar否則不允許上傳 String[] filename = originalFilename.split("\\."); if (!filename[1].equals("zip") && !filename[1].equals("rar")){ return; } //創建臨時文件時,名稱長度必須大于2 file = File.createTempFile(filename[0].length() <= 2 ? "壓縮包" + filename[0] : filename[0], filename[1]); multipartFile.transferTo(file); file.deleteOnExit(); ZipFile zf = new ZipFile(file); Enumeration<?> zipEnum = zf.entries(); ZipEntry ze; while (zipEnum.hasMoreElements()) { ze = (ZipEntry) zipEnum.nextElement(); if (!ze.isDirectory()) { long size = ze.getSize(); if (size > 0) { String[] name = ze.getName().split("\\."); String emojiName = name[0]; String type = name[1]; if (type.equals("jpg") || type.equals("png") || type.equals("gif") || type.equals("jpeg")){ String[] split = emojiName.split("/"); String picName = split[1] + "." + type; InputStream is = zf.getInputStream(ze); logger.info("picName:" + picName + ",size:" + size + ",inputStream:" + is); ///到這里調用上傳文件的方法上傳這個圖片就可以了 } } } } } catch (Exception e) { logger.error("packageUpload_error:" , e); } }
以上是“java如何實現不解壓直接讀取壓縮包中文件的”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。