按照日期创建文件夹的方法!

呵呵,公司被来要的,谁知道不要源代码 只要生成的文件。。寒一个~

自认自己的方法还是较为简单的

import  java.io.File;
import  java.text.SimpleDateFormat;
import  java.util.GregorianCalendar;

public   class  MakeDir
{
    
private SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd");

    
// 生成日期
    public String buildDate(GregorianCalendar c1, GregorianCalendar c2, int rd,
            String dirpath)
    
{

        
if (c1.getTime().getTime() >= c2.getTime().getTime())
        
{

            
return formatter.format(c1.getTime());
        }

        
else
        
{
            makedir(formatter.format(c1.getTime()), dirpath);
            c1.add(GregorianCalendar.DATE, rd);
            
return buildDate(c1, c2, rd, dirpath);
        }


    }


    
// 创建文件夹
    public void makedir(String date, String dirpath)
    
{
        
try
        
{
            
if (!(new File(dirpath).isDirectory())) // 判断文件夹是否存在
            {
                String[] dirs 
= dirpath.split("//");

                String temp 
= "";
                
for (int i = 1; i < dirs.length; i++)
                
{
                    temp 
= temp + "/" + dirs[i];
                    
new File(dirs[0+ "/" + temp).mkdir();
                }


                
new File(dirpath + "/" + date).mkdir();
                System.out.println(
"创建文件夹->" + dirpath + "/" + date + "...");
            }

            
else
            
{
                
new File(dirpath + "/" + date).mkdir();
                System.out.println(
"创建文件夹->" + dirpath + "/" + date + "...");
            }

        }

        
catch (Exception e)
        
{
            System.out.println(date 
+ "不能被创建...");
        }

    }


    
// 生成日期创建文件夹
    public void builddir(GregorianCalendar c1, GregorianCalendar c2, int rd,
            String dirpath)
    
{
        
while (true)
        
{
            
if (c1.getTime().getTime() >= c2.getTime().getTime())
            
{
                makedir(formatter.format(c1.getTime()), dirpath);
                
break;
            }

            makedir(formatter.format(c1.getTime()), dirpath);
            c1.add(GregorianCalendar.DATE, rd);
        }

    }


    
public static void main(String[] arg)
    
{
        GregorianCalendar c1 
= new GregorianCalendar(200701);
        GregorianCalendar c2 
= new GregorianCalendar(20071131);
        MakeDir m 
= new MakeDir();

        
// m.makedir(m.buildDate(c1,c2,1,"C:/java"),"C:/java");//递归模式
        m.builddir(c1, c2, 1"C:/java");// while 循环模式
        
// m.makedir("s","C:/java/newdate/fdfdd");
    }


}

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值