IO流—拷贝文件夹—实例
来源:互联网 发布:asp json解析 编辑:程序博客网 时间:2024/06/06 12:38
---------------------- android培训、java培训、期待与您交流! ----------------------
---------------------- android培训、java培训、期待与您交流! ----------------------
详细请查看:http://edu.csdn.net/heima
IO流—拷贝文件夹—实例
package com.darkhorse.admissiontest;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.util.Scanner;
/*
*复制一个文件夹,包括文件夹内的所有内容
*
* 思路:
* 1,定义控制台中输入,要被复制的文件夹路径,并判断文件夹是否存在;如果文件夹不存在用do while循环重新输入文件夹路径
* 2,再在控制台上输入新复制的文件夹路径,同时也判断文件夹是否存在,如果不存在则创建一个文件夹。
* 3,复制文件
* */
* 思路:
* 1,定义控制台中输入,要被复制的文件夹路径,并判断文件夹是否存在;如果文件夹不存在用do while循环重新输入文件夹路径
* 2,再在控制台上输入新复制的文件夹路径,同时也判断文件夹是否存在,如果不存在则创建一个文件夹。
* 3,复制文件
* */
public class CopyFolder { public static void main(String[] args){ copyFolder(); } /* 复制文件夹 */ public static void copyFolder(){ Scanner scan = null; // 定义一个空的文本扫描器 File file = null; // 定义一个空的文件路径名 System.out.println("请输入要复制的文件夹路径," + "如:D:copy\\copy"); /* 在控制台中输入文件夹路径,并判断输入的路径是否存在,如不存在就重新输入路径 */ do { scan = new Scanner(System.in); // 读取Systm.in输入的字符串 file = new File(scan.nextLine()); // 把scan读取的字符串代入File中,就能得到相对路径 if (file.exists() == false) // exitsts()为判断file路径是否等于false System.out.println("你输入的路径不存在:请重新输入"); // 如等于false,则请示输入路径错误要重新输入 } while (file.exists() != true); System.out.println("请输入要复制到的位置的路径:如:D:copy\\copy"); String s = scan.nextLine(); File fileS = new File(s); copyDirectory(file, fileS); } /* 复制目录 */ static void copyDirectory(File file, File fileS){ /* 判断file此路径是文件还是目录,如果是返回true,否则返回false */ if (file.isDirectory()) { /* 判断新目录是否存在,如果不存在则创建一个 */ if (!fileS.exists()) { // exists():判断此文件或者目录是否存在,如果存在返回true;否则返回 // false // fileS.mkdir(); // mkdir():创建此抽象路径文件目录 fileS.mkdirs(); //mkdirs():创建此抽象路径文件目录,包括不存在的父目录 } // list():返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录。 String[] children = file.list(); for (int i = 0; i < children.length; i++) { copyDirectory(new File(file, children[i]), new File(fileS, children[i])); } } else { // 把file与fileS路径代入copyFile()方法中,开始复制文件 copyFile(file, fileS); } } /* 复制文件,file路径为被复制路径,fileS路径为被复制到的路径 */ static void copyFile(File file, File fileS) { //创建两个空的输入、输出流 BufferedInputStream bufIn = null; BufferedOutputStream bufOut = null; try { //把文件路径传入给输入、输出流中 bufIn = new BufferedInputStream(new FileInputStream(file)); bufOut = new BufferedOutputStream(new FileOutputStream(fileS)); byte[] b = new byte[4 * 1024]; // 创建一个数组,数组长度为4K int len; //定义一个整数类型len. // 使用while循环语句,用read方法读取缓冲区输入流的数据,用write方法将数据写入数组b中。 while ((len = bufIn.read(b)) > 0) { bufOut.write(b, 0, len); } } catch (IOException e) { throw new RuntimeException("复制文件失败"); } finally { try { bufIn.close(); } catch (Exception e) { throw new RuntimeException("bufIn输出流关闭失败"); }try { bufOut.close(); } catch (Exception e2) { throw new RuntimeException("bufOutj输入流关闭失败"); } } }}
详细请查看:http://edu.csdn.net/heima
- IO流—拷贝文件夹—实例
- [IO]——文件夹的拷贝
- java Io流文件夹的拷贝
- java中用IO流,拷贝文件夹中的文件
- IO学习(六)拷贝文件夹
- java.se.io.4.文件夹拷贝
- java io 文件夹和文件的拷贝
- java io 拷贝文件 复制文件夹
- IO——过滤文件夹
- 使用IO流进行文件拷贝和文件夹拷贝
- java IO实现文件拷贝以及文件夹拷贝
- IO流——实现一个文件拷贝的功能
- CMD命令——拷贝文件夹
- IO流(拷贝文本文件)
- IO流(拷贝图片)
- IO流--拷贝文本文件
- IO流--拷贝图片
- io流拷贝文本文件
- C++ Fibonacci数列
- 用带头结点的循环单链表解决Josephus问题(默认点名位置为1)
- 实现自定义对话框程序快捷键的两种方法
- 深入理解浏览器兼容性模式
- Redis2.6在Centos6.2下安装与java客户端测试
- IO流—拷贝文件夹—实例
- 笑着笑着就哭了,睡着睡着就痛了:QQ伤感日志
- ubuntu 12.04 下双屏显示的配置
- jQuery日历
- linux下配置java
- 字母加密
- Keil移植uCOS-II到STM32开发板(STM32F107VCT6)
- SDL 的哪些事
- 一个android颜色识别器