wordpress安装包及功能分析

wordpress4.9.4版本在官网下载之后是一个约9618KB的zip压缩包,然后解压缩在wordpress文件夹下,包含142个文件夹及1529个文件,大小为26.8MB,占用空间29.3MB。

在wordpress文件夹下包含有三个子文件夹及14个php文件、1个html文件和1个txt文件。

  • html文件是关于wordpress的安装使用方法,包括一些指向官网的链接。
  • txt文件是一个关于使用wordprss的介绍和申明。

仔细翻看,发现wordpress实际上就是由一系列的文件组成,包括php、html、txt、CSS等。在此,为了方便和锻炼,尝试写一个工具

  • 用Java实现
  • 遍历文件夹,输出所有的文件类型及其对应的数量

之前我曾尝试自己写关于文件夹的帮助工具,但是在文件遍历卡壳了,这次我从网上搜索到下面这篇文章从而实现。

JAVA遍历文件夹下的所有文件

  1. 文件类型的特征是第一个.号及之后的内容,由于文件类型的多样及存在自己创造的后缀名,为简单采用设定长度为100的字符串数组,(也可用可变二维数组来记录后缀名)。
  2. 采用正则表达式截取文件的后缀名,"\..*"

这里存在一个bug,文件名在命名时可以带空格号,但是在使用path()函数创建文件对象时,只能将空格号之前的内容赋给文件对象。如D:\linux Web环境安装包\wordpress路径赋值给path对象,结果path对象的值为D:\linux。

具体代码如下

import java.io.File;
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class PostfixSearch {
    static String[] name = new String[100];//用来记录后缀名
    static int[] num = new int[100];//用来记录各后缀名的文件个数
    static int st=0;//记录文件夹个数
    static int sj=0;//记录文件个数
    public static void main(String[] args) {    
        Scanner in = new Scanner(System.in);
        String path = in.next();//接收需要查询的文件夹名
        traverseFolder2(path);
        for(int i=0;name[i]!=null;i++) {
            System.out.println("第"+i+"种后缀名:"+name[i]+"\t"+num[i]+"个");
        }
        System.out.println(path+"文件夹下包括其本身共"+st+"个文件夹,"+sj+"个文件");
    }
    public static void traverseFolder2(String path) {
        File file = new File(path);
        if (file.exists()) {
            st++;
            File[] files = file.listFiles();
            if (files.length == 0) {
                System.out.println("文件夹是空的!");
                return;
            } else {
                for (File file2 : files) {
                    if (file2.isDirectory()) {
                        traverseFolder2(file2.getAbsolutePath());
                    } else {
                        sj++;
                        String str = file2.getAbsolutePath();
                        String str2 = "";
                        Pattern pattern = Pattern.compile("\\..*");
                        Matcher matcher = pattern.matcher(str);
                        if(matcher.find())
                            str2 = matcher.group();
                            Path(str2);//将后缀名提交给Path函数处理
                        }
                }
            }
        } else {
            System.out.println(path+"文件不存在!");
        }
    }
    public static void Path(String str2) {//处理文件名后缀,如果不存在则添加入数组
        boolean Flag=false;
        int i;
        for(i=0;name[i]!=null;i++) {
            if(name[i].equals(str2)) {
                Flag=true;//存在
                num[i]++;
                break;
            }
        }
        if(!Flag) {//不存在,则添加
            name[i]=str2;
            num[i]++;
        }
    }
}

输入wordpress的安装路径 D:\linuxWeb环境安装包\wordpress,得到结果:

在该文件夹下包括其本身共有143个文件夹,1529个文件,文件类型有65种:

  • .php文件 693个
  • .min.js文件177个
  • .js文件170个
  • .css文件112个
  • .phg文件103个
  • .min.css文件89个
  • .gif文件62个
  • .txt文件16个
  • 其他基本都在10及10个以内

待分析:

常见文件后缀名文件的作用

不常见文件后缀名文件的作用

待添加代码功能:

  • 图片如png、jpg的存放文件夹检索
  • 特定文件类型或文件名的检索
  • 检索文件内部,尤其是php、js、css等文件内部的对象调用。

猜你喜欢

转载自www.cnblogs.com/heibaimao123/p/9033328.html