IO流打印目录及文件
package lx; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; public class TestCopyDir2 { public static void main(String[] args){ String url1="e:"+File.separator +"images"; String url2="e:"+File.separator +"copy"; File src=new File(url1); File dest=new File(url2); dest.mkdirs(); File[] files=src.listFiles();//例如1.gif image for(int i=0;i<files.length;i++) { if(files[i].isFile()) { File target=new File(dest,files[i].getName()); copyFile(files[i],target); } if(files[i].isDirectory()) { String s1=url1+File.separator +files[i].getName(); String t1=url2+File.separator +files[i].getName(); copyDir(s1, t1); } } } public static void copyDir(String s1,String t1) { File src1=new File(s1); File dest1=new File(t1); dest1.mkdirs(); File[] files=src1.listFiles(); for(int i=0;i<files.length;i++) { if(files[i].isFile()) { File target=new File(dest1,files[i].getName()); copyFile(files[i], target); } if(files[i].isDirectory()) { String s2=s1+File.separator+files[i].getName(); String t2=t1+File.separator+files[i].getName(); copyDir(s2,t2); } } } public static void copyFile(File file,File target) { InputStream is=null; OutputStream os=null; try { is=new FileInputStream(file); os=new FileOutputStream(target); int len=-1; byte[] datas=new byte[1024]; while((len=is.read())!=-1) { os.write(datas); } } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { if(os!=null) try { os.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } if(is!=null) try { is.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }