java文件的遍历(流,文件的拷贝)
来源:互联网 发布:巨人网络 知乎 编辑:程序博客网 时间:2024/04/29 16:19
package com.softeem.day_18;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;public class File_1 { public void wenjian(String path1) { File fl = new File(path1); File[] f = fl.listFiles(); if (f != null) { for (File f1 : f) { //遍历文件 StringBuffer sbb = new StringBuffer(f1.getParent()); if(f1.isFile()) { String str= f1.getName(); System.out.println(f1.getName()); File fi = new File("F:/laji/" + sbb.delete(0, 2)+ f1.getName()); try { FileInputStream fis = new FileInputStream(f1); int i; byte[] bu = new byte[1024000]; while ((i = fis.read(bu)) != -1) { //边读边写入流 FileOutputStream fos = new FileOutputStream(fi, true); fos.write(bu); fos.close(); } } catch (FileNotFoundException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } if (f1.exists()) { try { fi.createNewFile(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } else { //如果是文件夹,获取其路径,再调用方法,直到文件夹里没有文件 File fi = new File("F:/laji/" + sbb.delete(0, 2)); fi.mkdir(); String p = f1.getAbsolutePath(); System.out.println(p); wenjian(p); } } } } public static void main(String[] args) { File_1 file = new File_1(); file.wenjian("C:/"); }}