常用代码记录
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);
}
}
}
}
正文到此结束