把C盘中的一个多层文件夹拷贝到D盘中 黑马程序员

class CopyWenJianJia
{
        public static void main(String[] args)throws Exception
        {
                //源文件夹
                String yuan = "C:\\nimeizide";
                //目的地
                String mudi = "D:\\nimeizide";
                //建立目标文件夹
                (new File(mudi)).mkdirs();
                //获取源文件夹当下的文件或目录
                File[] files = (new File(yuan)).listFiles();
                for(File file : files)
                {
                        if(file.isDirectory())
                        {
                                String yuanDir = yuan + "\\" + file.getName();
                                String mudiDir = mudi + "\\" + file.getName();
                                //复制目录
                                copyDir(yuanDir, mudiDir);
                        }
                        else
                        {
                                copyFile(file, new File(mudi + "\\" + file.getName()));
                        }
                }

        }
        //复制文件夹
        public static void copyDir(String yuanDir, String mudiDir)throws Exception
        {
                (new File(mudiDir)).mkdirs();
                File[] files = (new File(yuanDir)).listFiles();
                for(File file : files)
                {
                        if(file.isFile())
                        {
                                File yuanFile = file;//源文件
                                File mudiFile = new File(new File(mudiDir).getAbsolutePath() + "\\" + file.getName());
                                copyFile(yuanFile, mudiFile);
                        }
                        else
                        {
                                String yuanJia = yuanDir + "\\" + file.getName();
                                String mudiJia = mudiDir + "\\" + file.getName();
                                copyDir(yuanJia, mudiJia);
                        }
                }
        }
        //复制文件
        public static void copyFile(File yuanFile, File mudiFile)throws Exception
        {
                BufferedInputStream buis = new BufferedInputStream(new FileInputStream(yuanFile.getAbsoluteFile()));
                BufferedOutputStream buos = new BufferedOutputStream(new FileOutputStream(mudiFile.getAbsoluteFile()));
                byte[] buf = new byte[1024];
                int len;
                while((len = buis.read(buf)) != -1)
                {
                        buos.write(buf, 0, len);
                        buos.flush();
                }
                buis.close();
                buos.close();
        }

}
时间: 2024-10-09 18:05:34

把C盘中的一个多层文件夹拷贝到D盘中 黑马程序员的相关文章

把C盘中的一个多层文件夹拷贝到D盘中

class CopyWenJianJia { public static void main(String[] args)throws Exception { //源文件夹 String yuan = "C:\\nimeizide"; //目的地 String mudi = "D:\\nimeizide"; //建立目标文件夹 (new File(mudi)).mkdirs(); //获取源文件夹当下的文件或目录 File[] files = (new File(y

把c盘的文件夹拷贝到d盘中 黑马程序员

class CopyWenJianJia { public static void main(String[] args)throws Exception { //源文件夹 String yuan = "C:\\nimeizide"; //目的地 String mudi = "D:\\nimeizide"; //建立目标文件夹 (new File(mudi)).mkdirs(); //获取源文件夹当下的文件或目录 File[] files = (new File(y

Windows下使用创建多层文件夹 SHCreateDirectoryEx 函数需要注意的问题

1.在使用SHCreateDirectoryEx函数创建多层文件夹的过程中,发现在文件夹路径中,只能使用\\而不能使用/,否则将创建文件夹失败. 2.下面为在MFC中使用的代码片段 CString new_path = "C:/abc/d/e"; //SHCreateDirectoryEx函数必须使用\\,不能使用/ new_path.Replace("/", "\\"); //判断是否存在该文件夹 if (!PathIsDirectory(ne

一个监视文件夹日期的脚本

::这个脚本用计划任务执行后,可以对WINDOWS Backup的文件夹进行监视,如果没有新的备份产生,则发送EMAIL到指定的地址. ::脚本允许一次事件,第二次事件后才发送告警. @echo off SETLOCAL SETLOCAL ENABLEDELAYEDEXPANSION SET destinationfolder=H:\WindowsImageBackup\MBM-SBS set emailServer=smtp.yourISP.com SET [email protected]

用C#实现文件夹拷贝

用C#实现文件夹拷贝 C#中没有拷贝整个文件夹的方法,最近需要用到,就写了一个Demo,拿出来跟大家分享一下 主要思想: 1.写一个拷贝文件夹的函数CopyFolder,传入源文件夹路径和目的文件夹路径 2.判断目的文件夹路径是否存在,如果不存在,创建此文件夹 3.获取源文件夹下的所有文件,拷贝这些文件到目的文件夹 4.获取源文件夹下的所有文件夹,循环调用CopyFolder(此处利用了递归) 代码: using System; using System.IO; namespace Folder

linux下使用c判断文件夹是否为空的小程序

/*自己写了一个 判断文件夹是否为空的小代码 打开文件夹的函数在man的时候要加 man 3 readdir,  */ #include <stdio.h>#include <sys/types.h>#include <sys/stat.h>#include <unistd.h>#include <dirent.h>int isdirempty(char *dirname){    /* 打开要进行匹配的文件目录 */    DIR *dir =

java 文件及文件夹拷贝

View.java package com.liang; import java.awt.Color; import java.awt.Dimension; import javax.swing.ButtonGroup; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JProgressBa

C# 文件夹拷贝

1 /// <summary> 2 /// 整个文件夹拷贝 3 /// </summary> 4 /// <param name="yanfilepath">源</param> 5 /// <param name="mudifilepath">目标</param> 6 public void CopyFilesDirs(string yanfilepath, string mudifilepat

在电脑上找到这个路径:D:\jakarta-tomcat-6\conf\Catalina,将localhost目录直接删除掉,再一运行,就没事了! 因为配置文件中配置了启动程序,而webapps文件夹下却没有此应用程序,所以出现了上述错误。

java.lang.IllegalArgumentException: Document base D:\appservers\apache-tomcat-6.0.20\webapps\megaeyes_enterprise_manager does not exist or is not a readable directory 2010-05-20 15:28:31|  分类: tomcat|举报|字号 订阅 2010-5-20 15:22:44 org.apache.catalina.co