1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > SpringBoot导入压缩文件 解压 删除指定目录下的所有目录 查找指定目录下所有以制定

SpringBoot导入压缩文件 解压 删除指定目录下的所有目录 查找指定目录下所有以制定

时间:2020-02-17 21:47:26

相关推荐

SpringBoot导入压缩文件 解压 删除指定目录下的所有目录 查找指定目录下所有以制定

①导入压缩文件

MultipartHttpServletRequest mRequest = (MultipartHttpServletRequest) request;String sParamFileName = mRequest.getFileNames().hasNext() ? mRequest.getFileNames().next() : null;if (CMyString.isEmpty(sParamFileName)) {return CtlStatus.failed().put("state", "文件不存在");}MultipartFile mFile = mRequest.getFile(sParamFileName);String sLocalName = mFile.getOriginalFilename(); // 获取文件名/* 获取文件扩展名 */String sExt = UploadFileUtil.getExt(sLocalName);// 根据文件头获取的文件类型/* 检查文件类型 */String sHeaderExt = UploadFileUtil.getExtByFileHeader(mFile.getInputStream());if ("zip".indexOf(sExt) < 0 || !sHeaderExt.equals("zip")) {return CtlStatus.failed("只能上传zip文件!");}/* 文件是否为空 */if (mFile.getSize() == 0) {return CtlStatus.failed("上传文件内容不能为空");}String sFileName = UploadFileUtil.getNextFileName(sExt);// 获取系统可用文件名/* 文件存储在容器中的绝对路径 */String saveFilePathName = zipUploadPath;//自定义路径/* 存储上传文件 */fileMkdirs(new File(saveFilePathName));saveFilePathName += sFileName;File savefile = new File(saveFilePathName);fileMkdirs(savefile);FileOutputStream fos = new FileOutputStream(savefile);fos.write(mFile.getBytes());if (fos != null) {fos.close();} // 压缩文件上传完毕

②解压压缩文件到指定目录

private void decompression(String zipPath, String aimPath) throws ZipException {ZipFile zfile = new ZipFile(zipPath);zfile.setFileNameCharset("UTF-8");// 在GBK系统中需要设置if (!zfile.isValidZipFile()) {throw new ZipException("压缩文件不合法,可能已经损坏!");}File file = new File(aimPath);if (file.isDirectory() && !file.exists()) {file.mkdirs();}zfile.extractAll(aimPath);}

③判断目录或文件是否存在,没有则创建

private void fileMkdirs(File file) throws IOException {if (file.isDirectory() && !file.exists()) {file.mkdirs();} else if (file.isFile() && !file.exists()) {file.createNewFile();}}

④查找所有.html结尾的文件,并添加到集合htmls中记录

public void findHtmlFile(String path) {File dir = new File(path);File[] subFiles = dir.listFiles(); // 获取e盘下所有的文件或文件夹对象if (null != subFiles) {for (File subFile : subFiles) {if (subFile.isDirectory()) // 文件夹则递归寻找,后缀为html文件则输出名字findHtmlFile(subFile.getAbsolutePath());else if (subFile.isFile() && subFile.getName().endsWith(".html"))htmls.add(subFile.getAbsolutePath());}}}

⑤删除指定目录下的所有目录

public static boolean deleteDir(String path) {File file = new File(path);if (!file.exists()) {// 判断是否待删除目录是否存在return false;}String[] content = file.list();// 取得当前目录下所有文件和文件夹for (String name : content) {File temp = new File(path, name);if (temp.isDirectory()) {// 判断是否是目录deleteDir(temp.getAbsolutePath());// 递归调用,删除目录里的内容temp.delete();} else {temp.delete();// 删除文件}}return true;}

SpringBoot导入压缩文件 解压 删除指定目录下的所有目录 查找指定目录下所有以制定后缀结尾的文件 创建目录

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。