本帖最后由 张周飞 于 2014-10-22 18:10 编辑
【 将E盘下某个文件中的全部内容(文本、MP3、文件夹等)复制到D盘下某个文件夹。】 分享敲多了想吐的一段代码:{:3_67:} 求指教........................................... 需要的自行 复制Eclipse中Ctrl+F11【运行】
- package com.vice.IO;
- import java.io.BufferedInputStream;
- import java.io.BufferedOutputStream;
- 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;
- /**
- * 将E盘下某个文件中的全部内容(文本、MP3、文件夹等)复制到D盘下某个文件夹。
- * @author Administrator
- *
- */
- public class IOCopy2 {
- public static void main(String[] args) {
-
- //源文件
- File F1=new File("E:\\zuocao");
-
- //在【D:\\中联华水驱动、软件下】创建一个同名的一级目录
- File F2=new File("D:\\中联华水驱动、软件",F1.getName()); //F1.getName()获取文件/文件夹的名称:zuocao
-
- //创建目标文件夹 【 判断某个文件或目录是否存在】没有就创建文件夹
- if(!F2.exists()){ //这一步必须要有,否则系统出错-“系统找不到指定路径”
- F2.mkdirs();
- }
-
- WriteReader(F1,F2);
- }
-
- public static void WriteReader(File F1,File F2){
-
- File[] fliess=F1.listFiles(); //列出 [某文件夹中] 所有文件。
- for(File flie:fliess){
- //每次遍历时,都要在 目标文件夹 下【创建同名同级】文件夹或者文件
- File NewF2=new File(F2,flie.getName());
-
- //遍历到的文件:判断---[ 是否文件夹 或者文件 ]
- if(flie.isDirectory()){ //判断是否为文件夹
- //如果是文件夹,就在目标文件夹下创建同名同级文件夹
- if(!NewF2.exists()){
- NewF2.mkdir();
- }
- WriteReader(flie,NewF2);
- }else{
- try {
- BufferedInputStream BIS=new BufferedInputStream(new FileInputStream(flie)); //读取 输入流
- BufferedOutputStream BOS=new BufferedOutputStream(new FileOutputStream(NewF2)); //写入 输出流
-
- //固定格式:
- byte[] bytes=new byte[1500];
- int len=-1;
- while((len=BIS.read(bytes))!=-1){
- BOS.write(bytes,0,len);
- }
- //关闭流
- BOS.flush();
- BIS.close();
- BOS.close();
- System.out.println("------------复制成功---------------");
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- }catch (IOException e) {
- e.printStackTrace();
- }
- }
-
-
- }
-
- }
-
- }
复制代码
|