原创

常用代码记录

1. 获取操作系统

     private static String OS = System.getProperty("os.name").toLowerCase();

    public static boolean isLinux(){
        return OS.indexOf("linux")>=0;
    }

    public static boolean isMacOS(){
        return OS.indexOf("mac")>=0&&OS.indexOf("os")>0&&OS.indexOf("x")<0;
    }

    public static boolean isMacOSX(){
        return OS.indexOf("mac")>=0&&OS.indexOf("os")>0&&OS.indexOf("x")>0;
    }

    public static boolean isWindows(){
        return OS.indexOf("windows")>=0;
    }

2. 正则表达式

/**
 * 正则表达式字符串替换
  * @param content 字符串
  * @param pattern 正则表达式
  * @param newString 新的替换字符串
  * @return 返回替换后的字符串
  */
 public String regReplace(String content,String pattern,String newString){
     Pattern p = Pattern.compile(pattern);
     Matcher m = p.matcher(content);
     String result = m.replaceAll(newString);
     return result;
 }

public String regReplaceImage(String content){
    String pattern="<img\\s*([^>]*)\\s*src=\\\"(http://.*?/)(.*?)\\\"\\s*([^>]*)>";
    StringBuffer operatorStr=new StringBuffer(content);
    Pattern p = Pattern.compile(pattern,Pattern.CASE_INSENSITIVE);
    Matcher m = p.matcher(content);
    while(m.find()) {
        //使用分组进行替换
        operatorStr.replace(m.start(2),m.end(2),"/");
        m = p.matcher(operatorStr);
    }
    return operatorStr.toString();
}

3. 文件夹递归

/**
     * 获取本地文件
     *
     * @param path
     * @return
     */
    private void getFileFromPath(String path, ArrayList<File> list) {
        // 目标集合fileList
        File file = new File(path);
        if (file.isDirectory()) {
            File[] files = file.listFiles();
            for (File fileIndex : files) {
                // 如果这个文件是目录,则进行递归搜索
                if (fileIndex.isDirectory()) {
                    getFileFromPath(fileIndex.getPath(), list);
                } else {
                    //如果文件是普通文件,则将文件句柄放入集合中
                    list.add(fileIndex);
                }
            }
        }
    }
正文到此结束
本文目录