黑马程序员——Java中文件夹的复制(第11篇)

来源:互联网 发布:免费快递单打印软件 编辑:程序博客网 时间:2024/05/16 04:53

---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------

//关于Java中文件夹的复制和递归的应用的小例子

import java.io.*;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();}}

---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------

0 0