📄 fileutil.java
字号:
/*
* 创建日期 2004-10-18
*
* TODO
*/
package com.ntsky.file;
import java.io.File;
import java.io.IOException;
import java.util.List;
import java.util.ArrayList;
import java.util.StringTokenizer;
import java.util.regex.*;
/**
* @author Administrator
*
* TODO
*/
public class FileUtil {
/**
* 特殊字符转
*/
public static String htmlEncode(String str) {
if (str == null) {
str = "";
return str;
}
str = str.trim(); //去掉首尾空格
/*// 正则表达式替换
// 定义替换模板
Pattern pattern = Pattern.compile("\\");
// 定义替换的原始主字符串
Matcher matcher = pattern.matcher(str);
str = matcher.replaceAll("/");*/
str = replace(str, "\\", "/");
return str;
}
/**
* 创建目录的方法
* @param fileDir
* @param context
*/
public static void makeDir(String fileDir,String context){
// 根据目录参数,创建无限层的目录结构
StringTokenizer stringTokenizer = new StringTokenizer(fileDir, "/");
String strTemp = "";
while (stringTokenizer.hasMoreTokens()) {
String str = stringTokenizer.nextToken();
if("".equals(strTemp)){
strTemp = str;
}
else{
strTemp = strTemp + "/" + str;
}
// System.out.println("context + strTemp " + context + strTemp);
File dir = new File(context + strTemp);
if (!dir.isDirectory()) {
dir.mkdirs();
}
}
}
/**
* 创建文件的方法
*
*/
public static File makeFile(String filePath){
File file = new File(filePath);
if (!file.exists()) {
try {
file.createNewFile();
} catch (IOException ex) {
System.out.println("创建文件错误... " + ex.getMessage());
}
}
return file;
}
public static void testPattern(){
Pattern p=null;
Matcher m=null; //操作的字符串
p = Pattern.compile("ab");
m = p.matcher("aaaaab");
String s = m.replaceAll("d");
System.out.println(s+"< br>");
}
/**
* 字符串转换方法
* @param source String
* @param oldString String
* @param newString String
* @return String
*/
public static String replace(String source, String oldString,
String newString) {
StringBuffer output = new StringBuffer();
int lengthOfsource = source.length(); //源字符串长度
int lengthOfold = oldString.length(); //老字符串长度
int posStart = 0; //开始搜索位置
int pos; //搜索到的老字符串的位置
//source.indexOf(oldString,posStart)检索某子串在字符串postStart以后第一次出现的位置,如果未找到就返回一个-1。
while ( (pos = source.indexOf(oldString, posStart)) >= 0) { //得到字符串的位置(eg:如果有<br>就执行,没有就跳出,不要处理。)
//将以posStart起始以pos-1结束之间的内容拷贝到另一个字符串中。因为posStar从0开始的。
output.append(source.substring(posStart, pos)); //append方法将文本添加到当前StringBuffer对象内容的结尾。
output.append(newString); //替换成新字符串
posStart = pos + lengthOfold; //位置也变为找到了之后的位置,pos为得到第一次出现字符的位置,lengthold为字符的长度
}
if (posStart < lengthOfsource) {
//source.substring(posStart)以lengthOfsource开始的字符串拷贝到列一个字符串中
output.append(source.substring(posStart));
}
//这个方法将其内容转换成一个可以被用于输出的字符串对象。它允许操作对应的文本用于输出或数据存储。
return output.toString();
}
/**
* 设置的文件类型是否符合
*
* @param fileType
* @return
*/
public static List getFileType(String fileType) {
StringTokenizer st = new StringTokenizer(fileType, ",");
List listType = new ArrayList();
// System.out.println(listType + "包含','的元素 : " + st.countTokens() + "\n\r");
while (st.hasMoreTokens()) {
listType.add(st.nextToken());
}
return listType;
}
/**
* 获得目录全名
*
* @return String
*/
public static String getAllPath(String filePath) {
if (!filePath.endsWith("/")) {
filePath += "/";
}
return filePath;
}
public static void main(String[] args) {
FileUtil.makeDir("abcdaa","D:/webserver/resin/webapps/upload/");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -