本文共 3586 字,大约阅读时间需要 11 分钟。
package IO_04;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;//复制单级文件夹public class CopyFolderDemo { public static void main(String[] args) throws IOException { File srcFolder = new File("demo"); File destFolder = new File("dest"); if(!destFolder.exists()){ destFolder.mkdir(); } File[] fileArr = srcFolder.listFiles(); for(File f: fileArr){ File newFile = new File(destFolder, f.getName()); copyFile(f, newFile); } } private static void copyFile(File srcFile, File destFile) throws IOException{ BufferedInputStream br = new BufferedInputStream(new FileInputStream(srcFile)); BufferedOutputStream bo = new BufferedOutputStream(new FileOutputStream(destFile)); byte[] buf = new byte[1024]; int len = 0; while((len=br.read(buf))!=-1){ bo.write(buf, 0, len); bo.flush(); } br.close(); bo.close(); }}
package IO_05;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.FilenameFilter;import java.io.IOException;//需求:复制指定目录下的指定文件,并修改后缀名。public class CopyFolderDemo { public static void main(String[] args) throws IOException { File srcFolder = new File("demo"); File destFolder = new File("dest"); if(!destFolder.exists()){ destFolder.mkdir(); } File[] fileArr = srcFolder.listFiles(new FilenameFilter() { @Override public boolean accept(File dir, String name) { return new File(dir, name).isFile() && name.endsWith(".txt"); } }); for(File f: fileArr){ File destFile = new File(destFolder, f.getName()); copyFile(f, destFile); } File[] destArr = destFolder.listFiles(); for(File f: destArr){ String name = f.getName(); String newName = name.replace(".txt", ".java"); File newFile = new File(destFolder,newName); f.renameTo(newFile); } } private static void copyFile(File srcFile, File destFile) throws IOException{ BufferedInputStream br = new BufferedInputStream(new FileInputStream(srcFile)); BufferedOutputStream bo = new BufferedOutputStream(new FileOutputStream(destFile)); byte[] buf = new byte[1024]; int len = 0; while((len=br.read(buf))!=-1){ bo.write(buf, 0, len); bo.flush(); } br.close(); bo.close(); }}
package IO_06;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;//copy多级目录public class CopyFolderDemo { public static void main(String[] args) throws IOException { File srcFolder = new File("demo"); File destFolder = new File("dest"); if(!destFolder.exists()){ destFolder.mkdir(); } copyFolder(srcFolder,destFolder); } private static void copyFolder(File srcFolder, File destFolder) throws IOException{ File[] srcFile = srcFolder.listFiles(); for(File f:srcFile){ if(f.isDirectory()){ File destFile = new File(destFolder,f.getName()); destFile.mkdir(); copyFolder(f, destFile); }else{ File destFile = new File(destFolder,f.getName()); copyFile(f, destFile); } } } private static void copyFile(File srcFile, File destFile) throws IOException{ BufferedInputStream bis = new BufferedInputStream(new FileInputStream(srcFile)); BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(destFile)); byte[] buf = new byte[1024]; int len = 0; while((len = bis.read(buf))!=-1){ bos.write(buf,0,len); bos.flush(); } bis.close(); bos.close(); }}
转载地址:http://glhkb.baihongyu.com/