`

操作文件夹

 
阅读更多
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);
	}
}

 

分享到:
评论

相关推荐

    易语言对象操作文件夹

    易语言对象操作文件夹源码,对象操作文件夹

    易语言对象操作文件夹源码

    本篇文章将深入探讨易语言对象操作文件夹的相关知识点。 1. **对象与类** 在易语言中,对象是类的实例。类定义了对象的属性和方法,而对象则是类的具体表现。例如,我们可以通过创建一个名为“文件夹”的类来定义...

    C# 操作文件夹 包括搜索所有的文件夹 所有的文件 文件夹加密

    C# 操作文件夹 包括搜索所有的文件夹 所有的文件 文件夹加密 感觉还不错

    在Dos中操作文件夹

    ### 在Dos中操作文件夹 #### 一、引言 在计算机系统中,DOS(Disk Operating System)是一种早期的操作环境,它通过命令行界面来管理文件和文件夹。尽管现代操作系统如Windows提供了图形用户界面(GUI),但在某些...

    利用VBA标准功能操作文件夹.zip源码EXCEL VBA宏编程Excel VBA实用技巧范例下载

    利用VBA标准功能操作文件夹.zip源码EXCEL VBA宏编程Excel VBA实用技巧范例下载利用VBA标准功能操作文件夹.zip源码EXCEL VBA宏编程Excel VBA实用技巧范例下载利用VBA标准功能操作文件夹.zip源码EXCEL VBA宏编程Excel ...

    利用文件对象模型FSO操作文件夹.zip源码EXCEL VBA宏编程Excel VBA实用技巧范例下载

    利用文件对象模型FSO操作文件夹.zip源码EXCEL VBA宏编程Excel VBA实用技巧范例下载利用文件对象模型FSO操作文件夹.zip源码EXCEL VBA宏编程Excel VBA实用技巧范例下载利用文件对象模型FSO操作文件夹.zip源码EXCEL VBA...

    Excel-VBA实用技巧范例-利用VBA标准功能操作文件夹.zip

    在Excel-VBA的世界里,利用VBA(Visual Basic for Applications)标准功能操作文件夹是一项非常实用的技能。这项技能能够极大地提升工作效率,特别是在处理大量数据和自动化办公任务时。VBA不仅允许我们直接操作...

    易语言源码易语言对象操作文件夹源码.rar

    易语言源码易语言对象操作文件夹源码.rar 易语言源码易语言对象操作文件夹源码.rar 易语言源码易语言对象操作文件夹源码.rar 易语言源码易语言对象操作文件夹源码.rar 易语言源码易语言对象操作文件夹源码.rar ...

    Excel-VBA实用技巧范例-利用文件对象模型FSO操作文件夹.zip

    这个压缩包“Excel-VBA实用技巧范例-利用文件对象模型FSO操作文件夹.zip”包含了关于如何使用FSO进行文件夹操作的实例和教程。 首先,让我们了解什么是FSO。FSO是Microsoft Scripting Runtime库的一部分,可以在VBA...

    jQuery操作文件夹

    然而,通过一些间接方式,我们可以利用jQuery和其他相关技术实现对文件和文件夹的操作。以下是一些相关的知识点: 1. **Ajax请求**:jQuery的Ajax功能可以用于在后台与服务器通信。通过创建XMLHttpRequest对象,...

    vb+vss+读取配置文件+cmd命令+操作文件夹

    vb+vss+读取配置文件+cmd命令+操作文件夹。 vb 控制vss,下载java文件到配置文件定义的路径下,再调用ant命令编译java文件为class,定时发布class文件到相应的开发环境,测试环境等。

    Windows操作系统文件夹详解

    Windows 操作系统文件夹详解 Windows 操作系统中最重要的莫过于“Windows”文件夹,对电脑进行任何操作几乎都有关。了解这里对于掌握整个系统的运作有很大的作用。下面将对“Windows”文件夹中的重要文件夹进行详细...

    .net操作文件和文件夹

    在.NET框架中,操作文件和文件夹是常见的任务,涵盖了创建、读取、写入、删除、移动等操作。为了及时检测文件夹中的文件或文件夹的变化情况,开发者可以利用.NET提供的文件系统监视器(FileSystemWatcher)类。下面...

    WIN10文件夹不自动刷新解决方案.pdf

    WIN10 操作系统中,文件夹不自动刷新的问题是一个常见的问题。这种问题可能是由于系统设置或注册表项的配置不当所引起的。在本文中,我们将详细介绍 WIN10 文件夹不自动刷新解决方案。 一、 WIN10 文件夹自动刷新...

    易语言对象操作文件夹源码-易语言

    本压缩包包含的“易语言对象操作文件夹”源码是一个易语言编写的实例,主要用于教授如何在易语言中进行文件夹的操作,如创建、删除、复制、移动等。这一知识点对于初学者来说非常实用,因为它涵盖了文件系统管理的...

    VMware虚拟机和宿主机共享文件夹

    共享文件夹功能支持以下操作系统: - Windows Server 2003 - Windows XP - Windows 2000 - Windows NT 4.0 - 拥有2.4版或更高版本核心的Linux - 不支持Windows 98客户机 #### 四、设置共享文件夹步骤 ##### 1. 宿...

    QT实现文件夹和文件的复制粘贴.docx

    在QT中,可以使用QDir类来操作文件夹,例如创建、删除、复制文件夹等。为了实现文件夹的复制,可以使用递归函数qCopyDirectory,该函数将源文件夹的所有文件和子文件夹复制到目标文件夹中。 函数qCopyDirectory的...

    C#获取本地某个文件夹的大小

    DirectoryInfo 类提供了许多有用的方法和属性来操作文件夹,例如 GetFiles 方法可以获取文件夹中的所有文件,GetDirectories 方法可以获取文件夹中的所有子文件夹。 知识点三:使用递归思想 在获取文件夹大小的...

    选择文件夹选择文件夹选择文件夹选择文件夹

    9. **编程接口**:在编程中,经常需要编写代码来选择或操作文件夹,如使用Python的os模块或Java的File类。 10. **权限与安全**:选择文件夹时,需注意权限设置,防止未经授权的访问或修改。 总之,选择文件夹这一...

    c#设置文件夹权限(执行,只读,读写,完全控制)

    首先,我们需要引入`System.IO`和`System.Security.AccessControl`命名空间,这两个命名空间提供了操作文件和文件夹权限所需的类和方法。例如: ```csharp using System.IO; using System.Security.AccessControl; ...

Global site tag (gtag.js) - Google Analytics