java常用工具类 IP、File文件工具类

本文实例为大家分享了java常用工具类的具体实现代码,供大家参考,具体内容如下

IP工具类

package com.jarvis.base.util;

import java.io.IOException;
import java.io.InputStreamReader;
import java.io.LineNumberReader;

/**
 *
 *
 * @Title: IpMacUtil.java
 * @Package com.jarvis.base.util
 * @Description:Ip工具类。
 * @version V1.0
 */
public class IpMacUtil {

 /**
 * 隐藏IP的最后一段
 *
 * @param ip
 *   需要进行处理的IP
 * @return 隐藏后的IP
 */
 public static String hideIp(String ip) {
 if (StringHelper.isEmpty(ip)) {
 return "";
 }

 int pos = ip.lastIndexOf(".");
 if (pos == -1) {
 return ip;
 }

 ip = ip.substring(0, pos + 1);
 ip = ip + "*";
 return ip;
 }

 /**
 * 获取IP地址.
 *
 * @param request
 *   HTTP请求.
 * @param response
 *   HTTP响应.
 * @param url
 *   需转发到的URL.
 */
 // public static String getIpAddr(HttpServletRequest request)
 // {
 // String ip = request.getHeader("x-forwarded-for");
 // if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip))
 // {
 // ip = request.getHeader("Proxy-Client-IP");
 // }
 // if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip))
 // {
 // ip = request.getHeader("WL-Proxy-Client-IP");
 // }
 // if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip))
 // {
 // ip = request.getRemoteAddr();
 // }
 // return ip;
 // }

 /**
 * 判断该字串是否为IP
 *
 * @param ipStr
 *   IP字串
 * @return
 */
 public static boolean isIP(String ipStr) {
 String ip = "(25[0-5]|2[0-4]\\d|1\\d\\d|\\d\\d|\\d)";
 String ipDot = ip + "\\.";
 return ipStr.matches(ipDot + ipDot + ipDot + ip);
 }

 /**
 * 获取客户端Mac
 *
 * @param ip
 * @return
 */
 public static String getMACAddress(String ip) {
 String str = "";
 String macAddress = "";
 try {
 Process p = Runtime.getRuntime().exec("nbtstat -A " + ip);
 InputStreamReader ir = new InputStreamReader(p.getInputStream());
 LineNumberReader input = new LineNumberReader(ir);
 for (int i = 1; i < 100; i++) {
 str = input.readLine();
 if (str != null) {
  if (str.indexOf("MAC Address") > 1) {
  macAddress = str.substring(str.indexOf("MAC Address") + 14, str.length());
  break;
  }
 }
 }
 } catch (IOException e) {
 return "";
 }
 return macAddress;
 }

}

File文件工具类

package com.jarvis.base.util;

import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.List;
import java.util.StringTokenizer;
import java.util.zip.CRC32;
import java.util.zip.CheckedInputStream;

import org.apache.commons.io.FilenameUtils;
import org.dom4j.Document;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;

/**
 *
 *
 * @Title: FileHelper.java
 * @Package com.jarvis.base.util
 * @Description:文件工具类
 * @version V1.0
 */
public class FileHelper {

 /**
 * 1kb
 */
 private final static int KB_1 = 1024;

 /**
 * 获得文件的CRC32校验和
 *
 * @param file
 *   要进行校验的文件
 * @return
 * @throws Exception
 */
 public static String getFileCRCCode(File file) throws Exception {
 FileInputStream is = new FileInputStream(file);
 CRC32 crc32 = new CRC32();
 CheckedInputStream cis = new CheckedInputStream(is, crc32);
 byte[] buffer = null;
 buffer = new byte[KB_1];
 while (cis.read(buffer) != -1) {
 }
 is.close();
 buffer = null;
 return Long.toHexString(crc32.getValue());
 }

 /**
 * 获得字串的CRC32校验和
 *
 * @param string
 *   要进行校验的字串
 * @return
 * @throws Exception
 */
 public static String getStringCRCCode(String string) throws Exception {
 ByteArrayInputStream inputStream = new ByteArrayInputStream(string.getBytes());
 CRC32 crc32 = new CRC32();
 CheckedInputStream checkedinputstream = new CheckedInputStream(inputStream, crc32);
 byte[] buffer = null;
 buffer = new byte[KB_1];
 while (checkedinputstream.read(buffer) != -1) {
 }
 inputStream.close();
 buffer = null;
 return Long.toHexString(crc32.getValue());
 }

 /**
 * 连接路径和文件名称,组成最后的包含路径的文件名
 *
 * @param basePath
 *   文件路径
 * @param fullFilenameToAdd
 *   文件名称
 * @return
 */
 public static String concat(String basePath, String fullFilenameToAdd) {
 return FilenameUtils.concat(basePath, fullFilenameToAdd);
 }

 /**
 * 获得不带文件扩展名的文件名称
 *
 * @param filename
 *   文件完整路径
 * @return 不带扩展名的文件名称
 */
 public static String getBaseName(String filename) {
 return FilenameUtils.getBaseName(filename);
 }

 /**
 * 获得带扩展名的文件名称
 *
 * @param filename
 *   文件完整路径
 * @return 文件名称
 */
 public static String getFileName(String filename) {
 return FilenameUtils.getName(filename);
 }

 /**
 * 获得文件的完整路径,包含最后的路径分隔条
 *
 * @param filename
 *   文件完整路径
 * @return 目录结构
 */
 public static String getFullPath(String filename) {
 return FilenameUtils.getFullPath(filename);
 }

 /**
 * 获得文件的完整路径,不包含最后的路径分隔条
 *
 * @param filename
 *   文件完整路径
 * @return
 */
 public static String getFullPathNoEndSeparator(String filename) {
 return FilenameUtils.getFullPathNoEndSeparator(filename);
 }

 /**
 * 判断文件是否有某扩展名
 *
 * @param filename
 *   文件完整路径
 * @param extension
 *   扩展名名称
 * @return 若是,返回true,否则返回false
 */
 public static boolean isExtension(String filename, String extension) {
 return FilenameUtils.isExtension(filename, extension);
 }

 /**
 * 判断文件的扩展名是否是扩展名数组中的一个
 *
 * @param filename
 *   文件完整路径
 * @param extensions
 *   扩展名名称
 * @return 若是,返回true,否则返回false
 */
 public static boolean isExtension(String filename, String[] extensions) {
 return FilenameUtils.isExtension(filename, extensions);
 }

 /**
 * 规范化路径,合并其中的多个分隔符为一个,并转化为本地系统路径格式
 *
 * @param filename
 *   文件完整路径
 * @return
 */
 public static String normalize(String filename) {
 return FilenameUtils.normalize(filename);
 }

 /**
 * 规范化路径,合并其中的多个分隔符为一个,并转化为本地系统路径格式,若是路径,则不带最后的路径分隔符
 *
 * @param filename
 *   文件完整路径
 * @return
 */
 public static String normalizeNoEndSeparator(String filename) {
 return FilenameUtils.normalizeNoEndSeparator(filename);
 }

 /**
 * 把文件路径中的分隔符转换为unix的格式,也就是"/"
 *
 * @param path
 *   文件完整路径
 * @return 转换后的路径
 */
 public static String separatorsToUnix(String path) {
 return FilenameUtils.separatorsToUnix(path);
 }

 /**
 * 把文件路径中的分隔符转换为window的格式,也就是"\"
 *
 * @param path
 *   文件完整路径
 * @return 转换后的路径
 */
 public static String separatorsToWindows(String path) {
 return FilenameUtils.separatorsToWindows(path);
 }

 /**
 * 把文件路径中的分隔符转换当前系统的分隔符
 *
 * @param path
 *   文件完整路径
 * @return 转换后的路径
 */
 public static String separatorsToSystem(String path) {
 return FilenameUtils.separatorsToSystem(path);
 }

 /**
 * 提取文件的扩展名
 *
 * @param filename
 *   文件名称
 * @return 文件扩展名,若没有扩展名,则返回空字符串
 */
 public static String getExtension(String filename) {
 return FilenameUtils.getExtension(filename);
 }

 /**
 * 移出文件的扩展名
 *
 * @param filename
 *   文件名称
 * @return 若文件存在扩展名,则移出扩展名,然后返回移出后的值
 */
 public static String removeExtension(String filename) {
 return FilenameUtils.removeExtension(filename);
 }

 /**
 * 清除一个目录的内容,但不删除此目录
 *
 * @param directory
 *   需要清除的目录
 * @return true:清除成功 false:清除失败
 */
 public static boolean cleanDirectory(File directory) {
 try {
 org.apache.commons.io.FileUtils.cleanDirectory(directory);
 return true;
 } catch (IOException ex) {
 ex.printStackTrace();
 System.err.println("清除目录出错");
 }
 return false;
 }

 /**
 * 拷贝一个目录的内容到另外一个目录中
 *
 * @param srcDir
 *   源目录
 * @param destDir
 *   目的目录
 * @return true:拷贝成功 false:拷贝失败
 */
 public static boolean copyDirectory(File srcDir, File destDir) {
 return copyDirectory(srcDir, destDir, true);
 }

 /**
 * 拷贝一个目录的内容到另外一个目录中
 *
 * @param srcDir
 *   源目录
 * @param destDir
 *   目的目录
 * @return true:拷贝成功 false:拷贝失败
 */
 public static boolean copyDirectory(String srcDir, String destDir) {
 return copyDirectory(new File(srcDir), new File(destDir));
 }

 /**
 * 拷贝一个目录的内容到另外一个目录中
 *
 * @param srcDir
 *   源目录
 * @param destDir
 *   目的目录
 * @param preserveFileDate
 *   是否保持文件日期
 * @return true:拷贝成功 false:拷贝失败
 */
 public static boolean copyDirectory(File srcDir, File destDir, boolean preserveFileDate) {
 try {
 org.apache.commons.io.FileUtils.copyDirectory(srcDir, destDir, preserveFileDate);
 return true;
 } catch (IOException ex) {
 ex.printStackTrace();
 System.err.println("复制目录出错");
 }
 return false;
 }

 /**
 * 拷贝源目录的内容到目的目录中(注:是拷贝到目的目录的里面)
 *
 * @param srcDir
 *   源目录
 * @param destDir
 *   目的目录
 * @return true:拷贝成功 false:拷贝失败
 */
 public static boolean copyDirectoryToDirectory(File srcDir, File destDir) {
 try {
 org.apache.commons.io.FileUtils.copyDirectoryToDirectory(srcDir, destDir);
 return true;
 } catch (IOException ex) {
 ex.printStackTrace();
 System.err.println("复制目录出错");
 }
 return false;
 }

 /**
 * 拷贝源目录的内容到目的目录中(注:是拷贝到目的目录的里面)
 *
 * @param srcDir
 *   源目录
 * @param destDir
 *   目的目录
 * @return true:拷贝成功 false:拷贝失败
 */
 public static boolean copyDirectoryToDirectory(String srcDir, String destDir) {
 return copyDirectoryToDirectory(new File(srcDir), new File(destDir));
 }

 /**
 * 拷贝文件
 *
 * @param srcFile
 *   源文件
 * @param destFile
 *   目的文件
 * @return true:拷贝成功 false:拷贝失败
 */
 public static boolean copyFile(File srcFile, File destFile) {
 return copyFile(srcFile, destFile, true);
 }

 /**
 * 拷贝文件
 *
 * @param srcFile
 *   源文件路径
 * @param destFile
 *   目的文件路径
 * @return true:拷贝成功 false:拷贝失败
 */
 public static boolean copyFile(String srcFile, String destFile) {
 return copyFile(new File(srcFile), new File(destFile));
 }

 /**
 * 拷贝文件
 *
 * @param srcFile
 *   源文件
 * @param destFile
 *   目的文件
 * @param preserveFileDate
 *   是否保留文件日期
 * @return true:拷贝成功 false:拷贝失败
 */
 public static boolean copyFile(File srcFile, File destFile, boolean preserveFileDate) {
 try {
 org.apache.commons.io.FileUtils.copyFile(srcFile, destFile, preserveFileDate);
 return true;
 } catch (IOException ex) {
 ex.printStackTrace();
 System.err.println("复制文件出错");
 }
 return false;
 }

 /**
 * 拷贝文件到某目录中
 *
 * @param srcFile
 *   源文件
 * @param destDir
 *   目的目录
 * @return true:拷贝成功 false:拷贝失败
 */
 public static boolean copyFileToDirectory(File srcFile, File destDir) {
 try {
 org.apache.commons.io.FileUtils.copyFileToDirectory(srcFile, destDir);
 return true;
 } catch (IOException ex) {
 ex.printStackTrace();
 System.err.println("复制文件出错");
 }
 return false;
 }

 /**
 * 拷贝文件到某目录中
 *
 * @param srcFile
 *   源文件
 * @param destDir
 *   目的目录
 * @return true:拷贝成功 false:拷贝失败
 */
 public static boolean copyFileToDirectory(String srcFile, String destDir) {
 return copyFileToDirectory(new File(srcFile), new File(destDir));
 }

 /**
 * 删除一个目录和该目录下的所有内容
 *
 * @param directory
 *   需要删除的目录
 * @return true:删除成功 false:删除失败
 */
 public static boolean deleteDirectory(String directory) {
 try {
 org.apache.commons.io.FileUtils.deleteDirectory(new File(directory));
 return true;
 } catch (IOException ex) {
 ex.printStackTrace();
 System.err.println("删除目录出错");
 }
 return false;
 }

 /**
 * 删除文件
 *
 * @param file
 *   需要删除的文件路径
 * @return true:删除成功 false:删除失败
 */
 public static boolean deleteFile(String file) {
 try {
 org.apache.commons.io.FileUtils.forceDelete(new File(file));
 return true;
 } catch (IOException ex) {
 ex.printStackTrace();
 System.err.println("删除文件出错");
 }
 return false;
 }

 /**
 * 递归创建目录
 *
 * @param directory
 *   目录
 * @return
 */
 public static boolean createDirectory(String directory) {
 try {
 org.apache.commons.io.FileUtils.forceMkdir(new File(directory));
 return true;
 } catch (IOException ex) {
 ex.printStackTrace();
 System.err.println("创建目录出错");
 }
 return false;
 }

 /**
 * 读入文件到字节数组中
 *
 * @param file
 *   需要读取的文件路径
 * @return 读取的字节数组,若读入失败,则返回null
 */
 public static byte[] readFileToByteArray(String file) {
 try {
 byte[] bytes = org.apache.commons.io.FileUtils.readFileToByteArray(new File(file));
 return bytes;
 } catch (IOException ex) {
 ex.printStackTrace();
 System.err.println("读取文件出错");
 }
 return null;
 }

 /**
 * 读入文件到字串中
 *
 * @param file
 *   需要读取的文件路径
 * @return 读取的文件内容,若读入失败,则返回空字串
 */
 public static String readFileToString(String file, String encoding) {
 try {
 if (StringHelper.isEmpty(encoding)) {
 encoding = "GBK";
 }
 String content = org.apache.commons.io.FileUtils.readFileToString(new File(file), encoding);
 return content;
 } catch (IOException ex) {
 ex.printStackTrace();
 System.err.println("读取文件出错");
 }
 return "";
 }

 /**
 * 读入文件到字串中
 *
 * @param file
 *   需要读取的文件路径
 * @return 读取的文件内容,若读入失败,则返回空字串
 */
 public static String readFileToString(String file) {
 return readFileToString(file, "GBK");
 }

 /**
 * 读入文本文件到一个按行分开的List中
 *
 * @param file
 *   需要读取的文件路径
 * @return 按行内容分开的List
 */
 @SuppressWarnings("rawtypes")
 public static List readLines(String file) {
 return readLines(file, "GBK");
 }

 /**
 * 读入文本文件到一个按行分开的List中
 *
 * @param file
 *   需要读取的文件路径
 * @return 按行内容分开的List
 */
 @SuppressWarnings("rawtypes")
 public static List readLines(String file, String encoding) {

 try {
 if (StringHelper.isEmpty(encoding)) {
 encoding = "GBK";
 }
 List lineList = org.apache.commons.io.FileUtils.readLines(new File(file), encoding);
 return lineList;
 } catch (IOException ex) {
 ex.printStackTrace();
 System.err.println("读取文件出错");
 }
 return null;

 }

 /**
 * 递归求一个目录的容量大小
 *
 * @param directory
 *   需要计算容量的目录路径
 * @return 容量的大小(字节数)
 */
 public static long sizeOfDirectory(String directory) {
 return org.apache.commons.io.FileUtils.sizeOfDirectory(new File(directory));
 }

 /**
 * 写字节数组到文件中,若文件不存在,则建立新文件
 *
 * @param file
 *   需要写的文件的路径
 * @param data
 *   需要写入的字节数据
 * @return true:写入成功 false:写入失败
 */
 public static boolean writeToFile(String file, byte[] data) {
 try {
 org.apache.commons.io.FileUtils.writeByteArrayToFile(new File(file), data);
 return true;
 } catch (IOException ex) {
 ex.printStackTrace();
 System.err.println("写文件出错");
 }
 return false;
 }

 /**
 * 写字串到文件中,若文件不存在,则建立新文件
 *
 * @param file
 *   需要写的文件的路径
 * @param data
 *   需要写入的字串
 * @return true:写入成功 false:写入失败
 */
 public static boolean writeToFile(String file, String data) {
 return writeToFile(file, data, "GBK");
 }

 /**
 * 写字串到文件中,若文件不存在,则建立新文件
 *
 * @param file
 *   需要写的文件的路径
 * @param data
 *   需要写入的字串
 * @param dncoding
 *   文件编码,默认为GBK
 * @return true:写入成功 false:写入失败
 */
 public static boolean writeToFile(String file, String data, String encoding) {
 try {
 if (encoding == null || "".equals(encoding)) {
 encoding = "GBK";
 }
 org.apache.commons.io.FileUtils.writeStringToFile(new File(file), data, encoding);
 return true;
 } catch (IOException ex) {
 ex.printStackTrace();
 System.err.println("写文件出错");
 }
 return false;
 }

 /**
 * 建立由filePathName指定的文件,若文件路径中的目录不存在,则先建立目录
 *
 * @param filePathName
 *   文件路径全名
 * @return
 */
 public static boolean createNewFile(String filePathName) {
 String filePath = FileHelper.getFullPath(filePathName);
 // 若目录不存在,则建立目录
 if (!FileHelper.exists(filePath)) {
 if (!createDirectory(filePath)) {
 return false;
 }
 }

 try {
 File file = new File(filePathName);
 return file.createNewFile();
 } catch (IOException ex) {
 ex.printStackTrace();
 System.err.println("创建文件出错");
 return false;
 }
 }

 /**
 * 判断文件和目录是否已存在
 *
 * @param filePath
 *   文件和目录完整路径
 * @return tru:存在 false:不存在
 */
 public static boolean exists(String filePath) {
 File file = new File(filePath);
 return file.exists();
 }

 /**
 * 判断特定的路径是否为文件
 *
 * @param filePath
 *   文件完整的路径
 * @return 若是文件,则返回true,否则返回false
 */
 public static boolean isFile(String filePath) {
 File file = new File(filePath);
 return file.isFile();
 }

 /**
 * 判断特定的路径是否为目录
 *
 * @param filePath
 *   文件完整的路径
 * @return 若是目录,则返回true,否则返回false
 */
 public static boolean isDirectory(String filePath) {
 File file = new File(filePath);
 return file.isDirectory();
 }

 /**
 * 更改文件的名称,若不在同一个目录下,则系统会移动文件
 *
 * @param srcFile
 *   源文件路径名称
 * @param destFile
 *   目的文件路径名称
 * @return
 */
 public static boolean renameTo(String srcFile, String destFile) {
 File file = new File(srcFile);
 return file.renameTo(new File(destFile));
 }

 /**
 *
 * 描述:根据document生成Xml文件 作者:刘宝 时间:Jun 9, 2010 3:16:11 PM
 *
 * @param fileName
 *   生成文件的路径
 * @param document
 * @param encoding
 *   编码格式
 * @return
 */
 public static boolean WriteToXMLFile(String fileName, Document document, String encoding) {
 createNewFile(fileName);
 boolean success = false;
 /** 格式化输出,类型IE浏览一样 */
 OutputFormat format = OutputFormat.createPrettyPrint();
 /** 指定XML编码 */
 format.setEncoding(encoding);
 XMLWriter writer = null;
 try {
 /** 将document中的内容写入文件中 */
 writer = new XMLWriter(new FileOutputStream(new File(fileName)), format);
 writer.write(document);
 writer.flush();
 success = true;
 /** 执行成功,需返回true */
 } catch (Exception ex) {
 ex.printStackTrace();
 System.err.println("写文件出错");
 } finally {
 if (writer != null) {
 try {
  writer.close();
  writer = null;
 } catch (IOException e) {
  e.printStackTrace();
  System.err.println("Convert code Error");
 }
 }
 }
 return success;
 }

 /**
  * 获取文件的后缀名并转化成大写
  *
  * @param fileName
  *   文件名
  * @return
  */
 public String getFileSuffix(String fileName) throws Exception {
  return fileName.substring(fileName.lastIndexOf(".") + 1,
    fileName.length()).toUpperCase();
 } 

 /**
  * 创建多级目录
  *
  * @param path
  *   目录的绝对路径
  */
 public void createMultilevelDir(String path) {
  try {
   StringTokenizer st = new StringTokenizer(path, "/");
   String path1 = st.nextToken() + "/";
   String path2 = path1;
   while (st.hasMoreTokens()) { 

    path1 = st.nextToken() + "/";
    path2 += path1;
    File inbox = new File(path2);
    if (!inbox.exists())
     inbox.mkdir(); 

   }
  } catch (Exception e) {
   System.out.println("目录创建失败" + e);
   e.printStackTrace();
  } 

 } 

 /**
  * 删除文件/目录(递归删除文件/目录)
  *
  * @param path
  *   文件或文件夹的绝对路径
  */
 public void deleteAll(String dirpath) {
  if (dirpath == null) {
   System.out.println("目录为空");
  } else {
   File path = new File(dirpath);
   try {
    if (!path.exists())
     return;// 目录不存在退出
    if (path.isFile()) // 如果是文件删除
    {
     path.delete();
     return;
    }
    File[] files = path.listFiles();// 如果目录中有文件递归删除文件
    for (int i = 0; i < files.length; i++) {
     deleteAll(files[i].getAbsolutePath());
    }
    path.delete(); 

   } catch (Exception e) {
    System.out.println("文件/目录 删除失败" + e);
    e.printStackTrace();
   }
  }
 } 

 /**
  * 文件/目录 重命名
  *
  * @param oldPath
  *   原有路径(绝对路径)
  * @param newPath
  *   更新路径
  * @author lyf 注:不能修改上层次的目录
  */
 public void renameDir(String oldPath, String newPath) {
  File oldFile = new File(oldPath);// 文件或目录
  File newFile = new File(newPath);// 文件或目录
  try {
   boolean success = oldFile.renameTo(newFile);// 重命名
   if (!success) {
    System.out.println("重命名失败");
   } else {
    System.out.println("重命名成功");
   }
  } catch (RuntimeException e) {
   e.printStackTrace();
  } 

 } 

 /**
  * 新建目录
  */
 public static boolean newDir(String path) throws Exception {
  File file = new File(path);
  return file.mkdirs();//创建目录
 } 

 /**
  * 删除目录
  */
 public static boolean deleteDir(String path) throws Exception {
  File file = new File(path);
  if (!file.exists())
   return false;// 目录不存在退出
  if (file.isFile()) // 如果是文件删除
  {
   file.delete();
   return false;
  }
  File[] files = file.listFiles();// 如果目录中有文件递归删除文件
  for (int i = 0; i < files.length; i++) {
   deleteDir(files[i].getAbsolutePath());
  }
  file.delete(); 

  return file.delete();//删除目录
 } 

 /**
  * 更新目录
  */
 public static boolean updateDir(String path, String newPath) throws Exception {
  File file = new File(path);
  File newFile = new File(newPath);
  return file.renameTo(newFile);
 }

 // 删除文件夹
 // param folderPath 文件夹完整绝对路径
 public static void delFolder(String folderPath) {
  try {
   delAllFile(folderPath); // 删除完里面所有内容
   String filePath = folderPath;
   filePath = filePath.toString();
   java.io.File myFilePath = new java.io.File(filePath);
   myFilePath.delete(); // 删除空文件夹
  } catch (Exception e) {
   e.printStackTrace();
  }
 } 

 // 删除指定文件夹下所有文件
 // param path 文件夹完整绝对路径
 public static boolean delAllFile(String path) {
  boolean flag = false;
  File file = new File(path);
  if (!file.exists()) {
   return flag;
  }
  if (!file.isDirectory()) {
   return flag;
  }
  String[] tempList = file.list();
  File temp = null;
  for (int i = 0; i < tempList.length; i++) {
   if (path.endsWith(File.separator)) {
    temp = new File(path + tempList[i]);
   } else {
    temp = new File(path + File.separator + tempList[i]);
   }
   if (temp.isFile()) {
    temp.delete();
   }
   if (temp.isDirectory()) {
    delAllFile(path + "/" + tempList[i]);// 先删除文件夹里面的文件
    delFolder(path + "/" + tempList[i]);// 再删除空文件夹
    flag = true;
   }
  }
  return flag;
 } 

 public static void main(String d[]) throws Exception{
  //deleteDir("d:/ff/dddf");
  updateDir("D:\\TOOLS\\Tomcat 6.0\\webapps\\BCCCSM\\nationalExperiment/22222", "D:\\TOOLS\\Tomcat 6.0\\webapps\\BCCCSM\\nationalExperiment/224222");
 } 

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • java常用工具类之DES和Base64加密解密类

    一.DES加密和解密 package com.itjh.javaUtil; import java.io.UnsupportedEncodingException; import java.security.InvalidKeyException; import java.security.NoSuchAlgorithmException; import java.security.SecureRandom; import java.security.spec.InvalidKeySpecExc

  • java使用jdbc连接数据库工具类和jdbc连接mysql数据示例

    这个工具类使用简单,实例化直接调用就可以了,大家还可以方便的根据自己的需要在里面增加自己的功能 复制代码 代码如下: package com.lanp.ajax.db; import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException; /** * 连接数据库的工具类,被定

  • Java中StringUtils工具类的一些用法实例

    StringUtils 方法的操作对象是 java.lang.String 类型的对象,是 JDK 提供的 String 类型操作方法的补充,并且是 null 安全的(即如果输入参数 String 为 null 则不会抛出 NullPointerException ,而是做了相应处理,例如,如果输入为 null 则返回也是 null 等,具体可以查看源代码). 除了构造器,StringUtils 中一共有130多个方法,并且都是 static 的,所以我们可以这样调用 StringUtils.x

  • java常用工具类 XML工具类、数据验证工具类

    本文实例为大家分享了java常用工具类的具体代码,供大家参考,具体内容如下 package com.jarvis.base.util; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.io.StringReader; import java.io.StringWriter; import java.net.URL; import java.util.Properties

  • java常用工具类 数字工具类

    本文实例为大家分享了java常用工具类,数字工具类的具体代码,供大家参考,具体内容如下 package com.jarvis.base.util; import java.math.BigDecimal; import java.text.DecimalFormat; import java.text.NumberFormat; import java.util.Random; public class NumericHelper { /** * 描述:通过一个整数i获取你所要的哪几个(从0开始

  • java正则表达式表单验证类工具类(验证邮箱、手机号码、qq号码等)

    java使用正则表达式进行表单验证工具类,可以验证邮箱.手机号码.qq号码等 复制代码 代码如下: package util; import java.util.regex.Matcher;import java.util.regex.Pattern; /** * 使用正则表达式进行表单验证 *  */ public class RegexValidateUtil {    static boolean flag = false;    static String regex = ""

  • java常用工具类之数据库连接类(可以连接多种数据库)

    依赖包下载:http://xiazai.jb51.net/201407/tools/java-db-dependency(jb51.net).rar 数据库连接类源码: package com.itjh.javaUtil; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.R

  • Java常用数字工具类 数字转汉字(1)

    本人是从事互联网金融行业的,所以会接触到一些金融类的问题,常见的一种就是数字转汉字大小写的问题.所以抽空就写了一个小小的工具类,实现了数字转汉字.大数相加.相减.相乘的工具类,希望能帮助有需求的同行们.本篇就分享一下数字转化为汉字的思路吧. 数字转汉字的原理: 拆分:由于整数部分要加权值,而小数部分直接转换即可,所以首先要将数字拆分成整数+小数: 整数处理:按照我们的中国人的习惯,把数字格式化成4位一组,不足4位前面补0.每次处理4位,按位匹配数组中的汉字+权值.即按照数值找数字数组(num_l

  • java连接数据库增、删、改、查工具类

    java连接数据库增.删.改.查工具类 数据库操作工具类,因为各厂家数据库的分页条件不同,目前支持Mysql.Oracle.Postgresql的分页查询在Postgresql环境测试过了,其他数据库未测试.sql语句需要使用预编译形式的 复制代码 代码如下: package db; import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.R

  • Java常用工具类 Random随机数、MD5加密工具类

    本文实例为大家分享了java常用工具类的具体代码,供大家参考,具体内容如下 Random随机数工具类 package com.jarvis.base.util; import java.util.Random; /** * * * @Title: RandomHelper.java * @Package com.jarvis.base.util * @Description: 随机数工具类 * @version V1.0 */ public class RandomHelper { /** *

随机推荐