java 目录数据备份代码

public void bakFile(String sPath,String tPath)
	{
		String sourcePath=sPath;
		String targetPath=tPath;
		File sourceDic=new File(sourcePath);
		File targetDic=new File(targetPath);
		System.out.println("bakFile sourceDic=   "+sourceDic.getAbsolutePath());
		System.out.println("bakFile targetDic=   "+targetDic.getAbsolutePath());
		if(!sourceDic.exists())
		{
			System.out.println("源路径指向的文件夹不存在!");
			return ;
		}
		else
		{
			if(!targetDic.exists())
			{
				if(sourceDic.isDirectory())
				{
					targetDic.mkdir();

				}
			}
			copyDic(sourceDic,targetDic);
		}
	}
	public void copyDic(File sDic,File tDic)
	{
		File sourceDic=sDic;
		File targetDic=tDic;
		if(sourceDic!=null&&sourceDic.exists())
		{
			if(sourceDic.isDirectory())
			{
				
				File fileArray[]=sourceDic.listFiles();
				for(File sFile:fileArray)
				{
					if(sFile!=null)
					{
						if(sFile.isDirectory())
						{
							
							String sDicName=sFile.getName();
							String tDicName=targetDic.getAbsolutePath()+File.separator+sDicName;
							File tDicFile=new File(tDicName);
							if(!tDicFile.exists())
							{
								tDicFile.mkdir();
							}
							copyDic(sFile,tDicFile);
						}
						else if(sFile.isFile())
						{
							File targetFile=new File(targetDic.getAbsoluteFile()+File.separator+sFile.getName());
							copyFile(sFile,targetFile);
						}
					}
				}
			}
		}
	}
	public void  copyFile(File sFile,File tFile)
	{
		if(sFile!=null&&sFile.isFile()&&sFile.exists())
		{
			String tFilePath=tFile.getAbsolutePath();
			String sFilePath=sFile.getAbsolutePath();
			if(tFile.exists())
			{
				String bakPath=tFile.getAbsolutePath()+".bak";
				tFile.renameTo(new File(bakPath));
			}
			FileInputStream fis = null;
			FileOutputStream fos = null;
			try {
				File targetFile=new File(tFilePath);
				targetFile.createNewFile();
				fis = new FileInputStream(sFilePath);
				fos = new FileOutputStream(tFilePath);
				byte[] buffer = new byte[10240];
				while (fis.read(buffer)!= -1) {
					fos.write(buffer, 0, buffer.length);
				}
				fis.close();
				fos.close();
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
	}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值