当前位置: 首页 > news >正文

和京东一样做电子产品的网站定制酒营销方案

和京东一样做电子产品的网站,定制酒营销方案,网站建设服务器技术有哪些,dw可以做网站后台吗背景 把文件压里头 把文件夹压里头 相关参考 我之前的一个文章#xff0c;文件递归复制思路link 思路 如果把单单一个文件压缩#xff0c;那么恭喜你#xff0c;不用看这个文章了#xff0c;因为百度一搜就有不错的答案。 本文主要介绍#xff0c;如果把整个文件夹压…背景 把文件压里头 把文件夹压里头 相关参考 我之前的一个文章文件递归复制思路link 思路 如果把单单一个文件压缩那么恭喜你不用看这个文章了因为百度一搜就有不错的答案。 本文主要介绍如果把整个文件夹压缩成一个文件如何把一个压缩文件解压出来 开发 因为是安卓原生api这里就不作环境介绍了。 文末有全部代码 文件夹压缩 首先外部调用这个方法就是传入一个需要压缩的文件夹的路径即可。例如/ddd/ddd/ 这种那么代码就会进行一个判断 1如果是目录则创建目录 2如果是文件那就搞里头 涉及的操作对象ZipEntryZipOutputStream 注意的点 1源头目录的层级和压缩文件目录的层级是不一样的 2如果是目录同样的也需要在压缩文件中创建保持源头的目录层级和压缩文件的目录层级一致 关键api: zipOutputSteam.putNextEntry(zipEntry);这个entry就是你放入压缩文件中的操作对象可以是文件也可以是目录 核心代码如下 try {File file new File(folderString fileString);if (file.isFile()) {ZipEntry zipEntry new ZipEntry(fileString);inputStream new FileInputStream(file);zipOutputSteam.putNextEntry(zipEntry);int len;byte[] buffer new byte[4096];while ((len inputStream.read(buffer)) ! -1) {zipOutputSteam.write(buffer, 0, len);}zipOutputSteam.closeEntry();} else {//文件夹//无论有没有子文件都进行文件夹的创建ZipEntry zipEntry new ZipEntry(fileString File.separator);zipOutputSteam.putNextEntry(zipEntry);zipOutputSteam.closeEntry();String[] childFileList file.list();//没有子文件和压缩//子文件和递归if (childFileList ! null) {for (int i 0; i childFileList.length; i) {File cacheFile new File(childFileList[i]);String folderResult folderString;ZipFiles(folderResult, fileString File.separator cacheFile.getName(), zipOutputSteam);}}}}其实递归的逻辑和文件夹递归复制是一样的区别就是压缩文件将会多一个ZipEntry操作的流程。 解压 对于解压这里同样也是判断是目录还是文件 若是目录则创建若是文件则通过ZipFile.getInputStream后进行文件流本地生成。 核心代码如下 private static void unZipChild(ZipFile zipFile, ZipEntry zipEntry, String targetFolder) {try {if (zipEntry.isDirectory()) {String targetDir targetFolder zipEntry.getName();new File(targetDir).mkdirs();} else {InputStream inputStream zipFile.getInputStream(zipEntry);FileOutputStream outputStream new FileOutputStream(new File(targetFolder, zipEntry.getName()));byte[] buffer new byte[1024];int length;while ((length inputStream.read(buffer)) 0) {outputStream.write(buffer, 0, length);}outputStream.close();inputStream.close();}} catch (Exception e) {e.printStackTrace();}}上面是文件夹压缩和解压的全部思路下面放出所有的相关代码 public class ZipUtils {/*** 压缩文件** param folderString* param fileString* param zipOutputSteam* throws Exception*/private static void ZipFiles(String folderString, String fileString, ZipOutputStream zipOutputSteam) throws Exception {if (zipOutputSteam null)return;FileInputStream inputStream null;try {File file new File(folderString fileString);if (file.isFile()) {ZipEntry zipEntry new ZipEntry(fileString);inputStream new FileInputStream(file);zipOutputSteam.putNextEntry(zipEntry);int len;byte[] buffer new byte[4096];while ((len inputStream.read(buffer)) ! -1) {zipOutputSteam.write(buffer, 0, len);}zipOutputSteam.closeEntry();} else {//文件夹//无论有没有子文件都进行文件夹的创建ZipEntry zipEntry new ZipEntry(fileString File.separator);zipOutputSteam.putNextEntry(zipEntry);zipOutputSteam.closeEntry();String[] childFileList file.list();//没有子文件和压缩//子文件和递归if (childFileList ! null) {for (int i 0; i childFileList.length; i) {File cacheFile new File(childFileList[i]);String folderResult folderString;ZipFiles(folderResult, fileString File.separator cacheFile.getName(), zipOutputSteam);}}}} catch (IOException e) {e.printStackTrace();} finally {if (inputStream ! null) {try {inputStream.close();} catch (IOException ex) {ex.printStackTrace();}}}}// 递归删除目录及其子目录和文件public static boolean deleteDirectory(File dir) {if (dir.isDirectory()) {String[] children dir.list();for (String child : children) {boolean success deleteDirectory(new File(dir, child));if (!success) {return false;}}}return dir.delete();}private static void unZipChild(ZipFile zipFile, ZipEntry zipEntry, String targetFolder) {try {if (zipEntry.isDirectory()) {String targetDir targetFolder zipEntry.getName();new File(targetDir).mkdirs();} else {InputStream inputStream zipFile.getInputStream(zipEntry);FileOutputStream outputStream new FileOutputStream(new File(targetFolder, zipEntry.getName()));byte[] buffer new byte[1024];int length;while ((length inputStream.read(buffer)) 0) {outputStream.write(buffer, 0, length);}outputStream.close();inputStream.close();}} catch (Exception e) {e.printStackTrace();}}//解压------------------------------------------------------------------------------------/*** param zipFileName 压缩文件路径* param targetFolder 解压出来的路径*/public static void unZip(String zipFileName, String targetFolder) {try {deleteDirectory(new File(targetFolder));File targetFile new File(targetFolder);if (!targetFile.exists()) {targetFile.mkdirs();}ZipFile zipFile new ZipFile(zipFileName);Enumeration? extends ZipEntry entries zipFile.entries();while (entries.hasMoreElements()) {ZipEntry zipEntry entries.nextElement();// 在这里可以对每个条目进行操作unZipChild(zipFile, zipEntry, targetFolder);}zipFile.close();} catch (IOException e) {e.printStackTrace();}}//压缩------------------------------------------------------------------------------------/*** 压缩文件和文件夹** param srcFileString 要压缩的文件或文件夹* param zipFileString 压缩完成的Zip路径* throws Exception*/public static void ZipFolder(String srcFileString, String zipFileString, String zipName) {//创建ZIPZipOutputStream outZip null;try {//创建文件File file new File(srcFileString);File outPath new File(zipFileString);if (!outPath.exists()) {outPath.mkdirs();}outZip new ZipOutputStream(new FileOutputStream(new File(outPath, zipName)));//压缩ZipFiles(file.getParent() File.separator, file.getName(), outZip);} catch (Exception e) {e.printStackTrace();} finally {//完成和关闭if (outZip ! null) {try {outZip.flush();outZip.finish();outZip.close();} catch (IOException e) {e.printStackTrace();}}}}} that’s all------------------------------------------------------------------------------------------------------
http://www.pierceye.com/news/387302/

相关文章:

  • 汕头中文建站模板建设全网营销型网站
  • 外贸网站建设盲区雄安移动网络电视
  • 建站方法友情链接发布平台
  • 做美剧盗版网站国内购物网站案例分析
  • 淄博网站制作哪家公司好东莞网站设计公司哪家好
  • 用dreammwea怎么做视频网站域名注册网站建设
  • 网站关键词用热门的还是冷门注销网站备案时间
  • 苏晋建设集团网站书店网站建设目标调研的方案
  • 下沙建设局网站建设公司内网网站的意义
  • 全屏响应式网站模板污网站公司网站
  • 抚远佳木斯网站建设领动建站
  • 班级网站 建设模板做任务佣金网站源码
  • 网站的关键词库广州建网站培训
  • 好的网页设计网站网站排名提升工具
  • 个人网站需要那些企查查入口网页版
  • 怎么用自己主机做网站、淮南网站推广
  • 丰台网站制作网站域名.xin
  • 省建设厅网站6工作室网页模板
  • 怎么制作免费网站教程视频wordpress 准迁
  • html5新增标签seo网址超级外链工具
  • 自己做的网站访问不了建站如何挣钱
  • 网盘做网站做网站推广员工
  • 河北正规网站建设比较网页制作平台哪家好
  • 2017网站seo如何做wordpress设置登录背景
  • 网站的模块怎么做网站建设的技术支持包括
  • 青岛网站设计哪家好游戏小程序开发定制
  • 建设网站西丽提升网站建设品质
  • 大良营销网站建设方案广东东莞划定多个高风险区
  • 毕业设计做网站用什么品牌网站建设新闻
  • c 网站开发用的人多吗做it行业招标网站有哪些