package tony;
import java.io.File;
import java.text.DecimalFormat;
import java.io.FileInputStream;
public class GetFileSize
{
public long getFileSizes(File f) throws Exception{//取得文件大小
long s=0;
if (f.exists()) {
FileInputStream fis = null;
fis = new FileInputStream(f);
s= fis.available();
} else {
f.createNewFile();
System.out.println(“文件不存在”);
}
return s;
}
// 递归
public long getFileSize(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;
}
public String FormetFileSize(long fileS) {//转换文件大小
DecimalFormat df = new DecimalFormat(“#.00″);
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 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 void main(String args[])
{
GetFileSize g = new GetFileSize();
long startTime = System.currentTimeMillis();
try
{
long l = 0;
String path = “C:\\WINDOWS”;
File ff = new File(path);
if (ff.isDirectory()) { //如果路径是文件夹的时候
System.out.println(“文件个数 ” + g.getlist(ff));
System.out.println(“目录”);
l = g.getFileSize(ff);
System.out.println(path + “目录的大小为:” + g.FormetFileSize(l));
} else {
System.out.println(“ 文件个数 1″);
System.out.println(“文件”);
l = g.getFileSizes(ff);
System.out.println(path + “文件的大小为:” + g.FormetFileSize(l));
}
} catch (Exception e)
{
e.printStackTrace();
}
long endTime = System.currentTimeMillis();
System.out.println(“总共花费时间为:” + (endTime – startTime) + “毫秒…”);
}
}
分享到:
相关推荐
在FATFS文件系统中,文件和文件夹的操作使用了f_open、f_read、f_write、f_close等API函数,实现了文件的读写和关闭操作。文件夹的操作使用了DIR *类型,实现了文件夹的遍历和搜索操作。 FATFS文件系统提供了一个轻...
在C#编程中,文件和文件夹的基本操作是日常开发中的常见任务,涵盖了从创建、读写、修改到管理文件系统结构的多个方面。本文将深入探讨如何使用C#进行这些操作,通过实例来帮助理解。 1. **新建文件与文件夹** 要...
本项目“jQuery仿Windows系统文件夹目录操作代码”旨在使用jQuery实现一个与Windows操作系统类似的文件夹浏览和操作功能。下面将详细阐述这个项目中涉及的核心知识点。 1. **jQuery基础**: - **选择器**:jQuery...
windowsxp系统的文件与文件夹基本操作
Windows 操作系统文件夹详解 Windows 操作系统中最重要的莫过于“Windows”文件夹,对电脑进行任何操作几乎都有关。了解这里对于掌握整个系统的运作有很大的作用。下面将对“Windows”文件夹中的重要文件夹进行详细...
- **文件搜索**:操作系统通常提供内置的搜索工具,如Windows的"搜索"功能,让用户可以通过文件名、类型、日期等条件快速找到所需文件。 - **高级搜索**:更复杂的搜索可能需要使用特定的软件或命令行工具,如`...
在深入探讨具体的代码实现之前,我们先来了解一下C#中与文件操作相关的基础知识。 ##### 1.1 文件系统命名空间 C#中用于操作文件系统的命名空间是`System.IO`。该命名空间包含了大量用于处理文件和目录的类,比如`...
在Windows 7操作系统中,有时用户可能会遇到一个令人困惑的问题,即尝试对文件夹进行重命名、剪切或复制操作时,系统会弹出“找不到该项目”的错误提示。这个错误通常意味着系统无法正确识别或访问指定的文件夹,...
在这个场景中,我们关注的是文件操作,特别是清理特定路径下的非特定文件或文件夹。这个任务在日常维护、备份或软件部署中非常常见。 在描述中提到,“为了避免误触发,有些改为了txt格式”。这是出于安全考虑,将...
在Java编程语言中,移动文件夹下所有文件是一项常见的任务,尤其在处理文件系统操作时。这个场景描述了一个程序能够遍历指定文件夹中的所有文件,并将它们移动到另一个目标文件夹,同时保持原有的文件结构。这样的...
文件和文件夹是计算机系统中最基本的组成部分。了解文件和文件夹的基本操作是信息技术的基础。下面,我们将学习文件和文件夹的基本操作。 一、 选定文件或文件夹 选定文件或文件夹是文件和文件夹操作的基础。我们...
在处理文件夹时,我们还需要关注递归操作,即遍历整个目录结构并对其下的所有文件和子文件夹执行相同的操作。这通常通过递归函数实现,结合`FindFirstFile`、`FindNextFile`和`FindClose`函数来枚举目录中的所有文件...
安卓系统文件夹详细结构及其文件解析 Android 手机内部文件夹的架构是非常复杂的,它们都是 Android 操作系统的核心组件。了解这些文件夹的功能和作用可以帮助我们更好地管理和维护我们的 Android 手机,同时也避免...
本压缩包文件“BAT批处理脚本-文件相关操作-删除指定路径下指定文件及文件夹外的所有文件及文件夹1.zip”包含了用于自动删除指定路径下非特定文件或文件夹的BAT脚本。以下是关于这个脚本和批处理技术的详细解释: *...
课程内容涵盖文件夹的创建、重命名、复制、移动和删除等基本操作,旨在帮助学生理解和掌握计算机系统中文件管理的重要性。 在教材分析部分,该课程位于信息技术基础和操作系统介绍之后,是理论与实践结合的关键阶段...
### 批处理删除指定文件夹下的所有文件和文件夹 #### 概述 在Windows操作系统中,批处理脚本是一种非常实用的工具,它能够帮助用户执行一系列预先定义好的命令,实现自动化操作。本文主要介绍如何通过批处理脚本来...
1. **文件操作**: - **创建文件**:使用`System.IO.File.Create`方法创建一个新文件。 ```csharp using System.IO; File.Create("新文件.txt"); ``` - **读取文件**:`File.ReadAllText`用于读取整个文本文件...
搜索文件可能涉及到文件系统的遍历,而删除文件则可以使用类似上述的文件操作函数,但要注意删除操作不可逆,需谨慎处理。 总结起来,这个任务的核心在于使用文件系统监听器来检测文件变化,并通过多线程技术在变化...