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

PHP做的网站能容纳多少人帝国cms做微网站

PHP做的网站能容纳多少人,帝国cms做微网站,对于一个确定的网和设计方案,网站下载到本地背景了解#xff1a;java中存在IO流的方式#xff0c;支持我们对文件进行读取#xff08;Input#xff0c;从磁盘到内存#xff09;或写入#xff08;output#xff0c;从内存到磁盘#xff09;#xff0c;那么我们在面对 “zip”格式或者 “rar” 格式的压缩文件java中存在IO流的方式支持我们对文件进行读取Input从磁盘到内存或写入output从内存到磁盘那么我们在面对 “zip”格式或者 “rar” 格式的压缩文件又如何去解析使用。下面一起学习交流 所用知识点1.java的util包下的ZipInputStream : 读取zip文件流 第三方类库 commons-io-2.16.1.jar junrar-7.5.5.jar slf4j-api-2.0.13.jar  百度网盘第三方类库下载地址链接https://pan.baidu.com/s/1iKPh6HruC70nb8rPn99pRQ?pwd1111  提取码1111 1.解析 “zip” 格式的文件 主题思路首先根据 “zip” 格式的文件的原始路径创建对应的File对象拿到其根目录通过exists方法判断根目录是否存在如果存在就删除重新创建再读取子内容包括子文件子目录分别创建对应的子文件子目录并将子文件的内容写入 重点知识点1.ZipInputStream:用于进行zip格式压缩文件的输入流(读取) 2.zipEntry:用于表示 zip 文件条目。 1.先根据文件的原始路径创建File对象得到其根目录 getParent获取其父级路径 substring(0,sourceFileName.lastIndexOf(.)负责拼接文件的文件名去掉其 “.zip后缀 //根据原始路径字符串创建源文件File对象 //path文件的原始路径 File sourceFile new File(path);//根目录 String sourceFileName sourceFile.getName(); File rootDir new File(sourceFile.getParent()\\sourceFileName.substring(0,sourceFileName.lastIndexOf(.))); 2.判断其创建的根目录是否存在如果存在就删除重新创建 注意删除时java自带的delete方法只能删除空目录当目录内部用其他子文件时需使用第三方类库删除 第三方类库的删除方法导入commons-io-2.16.1.jar FileUtils.deleteDirectory(rootDir) 无论目录是否为空都可删除 此方法参数为要删除的目录文件对象 //判断要创建的目录是否存在if(rootDir.exists()) {//如果存在就删除重新创建//rootDir.delete();//要求只能删除空目录//第三方类库删除try {FileUtils.deleteDirectory(rootDir);} catch (IOException e) {e.printStackTrace();}} 3.重新创建新的根目录 //重新创建或创建根目录rootDir.mkdir(); 4.读取子内容子文件子目录如果为子目录就创建为子文件就创建写入 getNextEntry()  读取下一个zip文件条目并将该流定位在条目数据的开头。 返回值下一个zip文件条目如果没有更多条目则返回null。 首先呢上面我们说过了ZipInputStream用于进行zip格式的压缩文件的输入流我们先用ZipInputStream对zip文件进行读取操作然后呢遍历其内部的子文件或者子目录而ZipEntry对象又表示为zip压缩格式文件内部的文件条目。所以我们先创建一个ZipEntry对象通过getNextEntry()方法不断用循环获取其文件条目 再拿到一个文件条目时创建其对应的File对象并判断是子文件还是子目录判断时用到的一定是zipEntry对象而不是创建的File对象 如果是子目录通过mkdir(),创建子目录 如果是子文件先创建子文件再通过文件输出流FileOutputStream写入文件内容。 try (ZipInputStream in new ZipInputStream(new FileInputStream(sourceFile));){//遍历压缩包中的每个子文件或者子目录ZipEntry类型的对象ZipEntry zipEntry null;while((zipEntry in.getNextEntry()) ! null) {System.out.println(zipEntry.getName());//创建子目录或者子文件file对象File file new File(rootDir.getPath()\\zipEntry.getName());if(zipEntry.isDirectory()) {//物理磁盘创建子目录file.mkdir();}else {//物理磁盘创建子文件file.createNewFile();//此处不能用用后会将ZipInputStream创建的流关闭导致getNextEntry()无法继续使用//FileUtils.copyInputStreamToFile(in, file);//读取内容并写入try(FileOutputStream out new FileOutputStream(file)){byte[] buff new byte[1024];int len -1;while((len in.read(buff))!-1) {out.write(buff,0,len);}}}}} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e1) {// TODO Auto-generated catch blocke1.printStackTrace();}} 2.解析 “rar” 格式的文件 1.先根据文件的原始路径创建File对象得到其根目录 2.判断其创建的根目录是否存在如果存在就删除重新创建 此部分内容与解析 “.zip” 格式压缩文件的内容一致不再做详细描述 //1.创建解压后的根目录File rarfile new File(path);File rootDir new File(rarfile.getParent()\\rarfile.getName().substring(0,rarfile.getName().lastIndexOf(.)));if(rootDir.exists()) {try {FileUtils.deleteDirectory(rootDir);} catch (IOException e) {e.printStackTrace();}}//创建根目录rootDir.mkdir(); 3.读取 “rar” 格式压缩文件内容 在读取 “rar” 格式压缩文件时我们需用到第三方类库 junrar-7.5.5.jar 用于解析 “rar” 格式的压缩文件 slf4j-api-2.0.13.jar junrar的jar中某个类依赖此jar包 首先我们需要知道在解析“rar” 的jar中为我们提供了一个类 Archive用于读取rar压缩文件格式 内部实现逻辑也是通过文件输入流进行读取所以内部还是先通过FileInputStream读取 1先通过创建Archive对象读取rar压缩文件 2在读取后archive并没有提供任何read方法让我们读取而是依靠 getFileHeader让我们获取到所以的子目录或者子文件但是时FileHeader类型的对象返回值为一个FileHeader类型的list集合 3在获取的list集合所有的子文件或者子目录的顺序是乱序的所以我们需要对此list进行排序用到了sort的选择器此部分学习参考我帖子的 java接口及其应用场景_java接口的应用场景-CSDN博客 4在排序完成后我们对其遍历通过创建其对应的File对象判断是子文件还是子目录 子目录通过mkdir方法创建 如果是子文件先创建子文件再通过第三方类库的commons-io-2.16.1.jar 的  FileUtils.copyInputStreamToFile(in, file);   复制文件输入流至新子文件 //创建Archive对象用于读取rar压缩文件格式try (Archive archive new Archive(new FileInputStream(path));){//获取压缩文件中所有的子目录或子文件FileHeader对象ListFileHeader fileHeaders archive.getFileHeaders();//按照子目录或者子文件名称排序fileHeaders.sort(new ComparatorFileHeader() {Overridepublic int compare(FileHeader o1, FileHeader o2) {return o1.getFileName().compareTo(o2.getFileName());}});for(FileHeader fd: fileHeaders) {System.out.println(fd.getFileName());File file new File(rootDir.getParent()\\fd.getFileName());if(fd.isDirectory()) {//创建新子文件file.mkdir();}else {//创建新子目录file.createNewFile();//获取压缩包中的子文件流InputStream in archive.getInputStream(fd);//复制文件输入流至新子文件FileUtils.copyInputStreamToFile(in, file);}}} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e1) {// TODO Auto-generated catch blocke1.printStackTrace();} catch (RarException e1) {// TODO Auto-generated catch blocke1.printStackTrace();} }
http://www.hkea.cn/news/14396467/

相关文章:

  • 上海高端网站公司中国著名外贸公司有哪些
  • 沙坪坝网站建设公司选哪家好seo网站优化对象
  • 哪建网站好网站网站设计的公司
  • 微信怎么建小网站网站域名可以更改吗
  • 怎样制作微信网站链接饲料网站源码
  • 制作免费网站的平台做电影方面的网站怎么做
  • php完整网站开发源码大连市住建局官方网
  • 零基础建网站嘉兴公司注册
  • 个人网站空间收费wordpress setup-config.php空白
  • 流行网站类型800元建网站
  • 个人网站备案经验企业网站建设开发成本利润多少
  • 做外贸网站需要请外贸文员吗网上做图赚钱的网站
  • 公司网站需要修改网页制作模板源码
  • 怎样做网站的关键词h5商城和小程序商城的区别
  • 网站建设资源分享wordpress点击创建配置文件没反应
  • 流量购买网站window2008r2网站建设
  • 长春网站优化公司百度网盟网站有哪些
  • 万户网站协作管理系统网站备案年审
  • 网站建设维护是啥意思东莞如何搭建网站建设
  • wordpress网站跳转nginxphp网站识别手机
  • 搜索网站怎么做学院校园网网站建设情况
  • 河南网站建设app开发丽水专业做网站
  • 广西新站seo上海浦东哪里有做网站的公司
  • 天津网站建设诺亚音乐如何到wordpress
  • 网站如何做301跳转网站如何做百度搜索优化
  • 怎么做福彩网站查域名的网址
  • 个体工商户网站备案流程平面设计怎么接单
  • wdcp新建网站第一次和两个老头做网站
  • 濂溪区建设局网站怎么做百度自己的网站空间
  • 做网站公众号要多少钱广州建设公司