`

操作文件夹

阅读更多
package com.spider.reader.common.tool;

import java.io.File;
import java.io.FileInputStream;
import java.text.DecimalFormat;

public class GetFileSize {
	
	/**
	 * 取得文件大小
	 * @param file
	 * @return
	 * @throws Exception
	 */
	public static int getFileSize(File file) throws Exception {
		int s = 0;
		if (file.exists()) {
			FileInputStream fis = null;
			fis = new FileInputStream(file);
			s = fis.available();
		}
		return s;
	}

	// 递归
	public static long getFileSizes(File f) throws Exception {// 取得文件夹大小
		long size = 0;
		File flist[] = f.listFiles();
		for (int i = 0; i < flist.length; i++) {
			if (flist[i].isDirectory()) {
				size = size + getFileSize(flist[i]);
			} else {
				size = size + flist[i].length();
			}
		}
		return size;
	}

	/**
	 * 转换文件大小
	 * 
	 * @param fileS
	 * @return
	 */
	public static String FormetFileSize(long fileS) {
		DecimalFormat df = new DecimalFormat("#.##");
		String fileSizeString = "";
		if (fileS < 1024) {
			fileSizeString = df.format((double) fileS) + "B";
		} else if (fileS < 1048576) {
			fileSizeString = df.format((double) fileS / 1024) + "K";
		} else if (fileS < 1073741824) {
			fileSizeString = df.format((double) fileS / 1048576) + "M";
		} else {
			fileSizeString = df.format((double) fileS / 1073741824) + "G";
		}
		return fileSizeString;
	}

	public static long getlist(File f) {// 递归求取目录文件个数
		long size = 0;
		File flist[] = f.listFiles();
		size = flist.length;
		for (int i = 0; i < flist.length; i++) {
			if (flist[i].isDirectory()) {
				size = size + getlist(flist[i]);
				size--;
			}
		}
		return size;
	}

	public static String getSize(String filepath) {
		String size = "0";
		try {
			long l = 0;
			File ff = new File(filepath);
			if (ff.isDirectory()) {
				l = getFileSizes(ff);
			} else {
				l = getFileSize(ff);
			}
			size = FormetFileSize(l);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return size;
	}

	/**
	 * 删除文件下的内容
	 * 
	 * @param path
	 * @return
	 */
	public static boolean delAllFile(String filePath) {
		boolean flag = false;
		File file = new File(filePath);
		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 (filePath.endsWith(File.separator)) {
				temp = new File(filePath + tempList[i]);
			} else {
				temp = new File(filePath + File.separator + tempList[i]);
			}
			if (temp.isFile()) {
				temp.delete();
			}
			if (temp.isDirectory()) {
				/** 先删除文件夹里面的文件 **/
				delAllFile(filePath + "/" + tempList[i]);
				/** 再删除空文件夹 **/
				delFolder(filePath + "/" + tempList[i]);
				flag = true;
			}
		}
		return flag;
	}

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

	public static void main(String args[]) {
		String zipSize = GetFileSize.getSize("D:/Tomcat6.0/webapps/midpui2.0/srcFile/4570-89672.zip");
		System.out.println(FormetFileSize(12));
		System.out.println(zipSize);
	}
}

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics