java _io_面向对象风格递归获得文件夹大小

public class test {

private int sum; //文件夹大小
private String path; //路径
private File f;

public static void main(String[]args) throws IOException
{
test t=new test("D:/d");
System.out.println(t.getSum());
}

public test(String path)
{
this.path=path;
this.f=new File(path);
N(this.f);
}
public int getSum()
{
return this.sum;
}
//递归打印获得文件夹大小
private int N(File f)
{
if(null!=f&&f.exists())
{
if(f.isFile()) //是文件才能获得大小
{
sum+=f.length();
}
else if(f.isDirectory())
{

File[] ss=f.listFiles();
for(File r:ss)
{
N(r);
}
}
}
return sum;
}

}

原文地址:https://blog.51cto.com/14437184/2422510

时间: 2024-09-29 00:27:17

java _io_面向对象风格递归获得文件夹大小的相关文章

Java使用线程池递归压缩文件夹下面的所有子文件

本文将介绍Java中利用线程池递归的方式压缩文件夹下面的所有子文件,具体方法如下: Gzip单个文件压缩 对于单个文件使用GZip压缩. package date0805.demo1; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream

java _io_ File类创建目录和文件夹

.mkdir() //创建目录,如果父目录不存在,则不会创建成功.mkdirs() //创建目录,如果父目录不存在,则会一起创建.list() //列出下级名称,返回的是一个字符串数组.listFiles() //返回子目录对象,返回的是一个File类型的数组.listRoots() //根路径,从盘符(C:或D盘)出发,拿到所有的文件 创建文件夹和目录: File f=new File("D:/d/dir/test"); boolean flag=f.mkdir(); System.

java非递归检索文件夹下所有文件的代码

把开发过程比较重要的一些内容段做个珍藏,下面的内容段是关于java非递归检索文件夹下所有文件的内容,应该是对大家有所帮助. DateFormat df = DateFormat.getDateTimeInstance();LinkedList<File> folders = new LinkedList<File>();LinkedList<File> filelists = new LinkedList<File>();File dir = new Fil

Java递归读取文件夹下所有文档

/** * 递归读取文件夹下所有文档 * @author Administrator * */ public class FileLoop{ private static List<File> fileList = new ArrayList<File>(); public static void main(String[] args) { List<File> list = fileReadLoop("c:/dir"); for(int i=0;

Java读取文件夹大小的6种方法及代码

这篇文章介绍了JAVA读取文件夹大小的几种方法实例,有需要的朋友可以参考一下. (一)单线程递归方式 package com.taobao.test; import java.io.File; public class TotalFileSizeSequential { public static String fileName = "C:\\Documents and Settings\\Administrator\\桌面\\monkeytalk"; // 递归方式 计算文件的大小

[C#]递归遍历文件夹

// <summary> /// 递归获取文件夹目录下文件 /// </summary> /// <param name="pathName">需要递归遍历的文件夹</param> /// <param name="fileRule">遍历规则『委托』</param> public static void LoopFolder(string pathName, Action<FileInf

PHP递归复制文件夹以及传输文件夹到其他服务器。

项目中需要复制整个文件夹,有时候还需要将整个文件夹传输到远程服务器. 这里就要递归遍历整个文件夹了,想看递归遍历文件夹的代码. function deepScanDir($dir) { $fileArr = array (); $dirArr = array (); $dir = rtrim($dir, '//'); if (is_dir($dir)) { $dirHandle = opendir($dir); while (false !== ($fileName = readdir($dir

php递归删除文件夹

php递归删除文件夹函数写了两次..第一次执行没删除成功,需要多次删除成功...所以应该算是失败了,,代码如下: <span style="color:#FF0000;">//删除文件方法 private function rmdirs($val){ rmdir($val); if(!file_exists($val)){ return false; } if(is_file($val)||is_link($val)){ return unlink($val); } if(

C#追加、拷贝、删除、移动文件、创建目录、递归删除文件夹及文件

C#追加文件 StreamWriter sw = File.AppendText(Server.MapPath(".")+"\\myText.txt"); sw.WriteLine("追逐理想"); sw.WriteLine("kzlll"); sw.WriteLine(".NET笔记"); sw.Flush(); sw.Close();C#拷贝文件 string OrignFile,NewFile; Or