Java当中 递归打印文件大小(面向不同的对象打印文件大小)

一:给固定的文件路径求文件大小

package com.wyj.one;

import java.io.File;

/**
 * 递归求出文件的大小
 * @author 86155
 *
 */
public class CopyOfDemo10_递归打印子文件大小 {

   public static void main(String[] args) {
	   
	   File src = new File("C:/Myjava/project12_IO");
	  
	   count(src);
	   System.out.println(len);
	   
  }	
  
   
   private static long len = 0;
   public static void count(File src){
	
	   if( null != src && src.exists()){
		   	if(src.isFile()){//这里是递归终止条件
		   		len = len + src.length();
		   	}
		   	else{
		   		for(File temp:src.listFiles()){
		   			count(temp);
		   		}
		   	}
	   }
	 
   }
   
}

二:面向不同的对象

package com.wyj.one;

import java.io.File;

/**
 * 递归求出文件的大小  打印不同文件夹的大小
 * 
 * 在这里面向对象的理解   即是面向  不同的源文件  来求取 他们的文件大小
 * 
 * 
 * 
 * @author 王永杰
 *
 */
public class Demo11_面向对象打印文件大小 {
	
	//大小
	private long len;
	//文件夹的路径
	private String path;
	//源文件
	private File src;
		
	public Demo11_面向对象打印文件大小(String path) {
		super();
		this.path = path;
		this.src = new File(path);
		this.count(src);
	}
	
    private void count(File src){
		
	   if( null != src && src.exists()){
		   	if(src.isFile()){//这里是递归终止条件
		   		len = len + src.length();
		   	}
		   	else{
		   		for(File temp:src.listFiles()){
		   			count(temp);
		   		}
		   	}
	   }
	 
}
  

    public long getLen() {
		return len;
	}

	public void setLen(long len) {
		this.len = len;
	}

	public static void main(String[] args) {
	  
    	Demo11_面向对象打印文件大小 dir1 = new Demo11_面向对象打印文件大小("C:/Myjava/project12_IO");
    	System.out.println(dir1.getLen());
    	
    	Demo11_面向对象打印文件大小  dir2 = new Demo11_面向对象打印文件大小("C:/Myjava/project12_IO/png.jpg");
    	System.out.println(dir2.getLen());

    	
  }	  
}

如有疑问 敬请留言!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天天向上的菜鸡杰!!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值