java 文件夹及其子目录 子文件的复制
来源:互联网 发布:linux c mmap 编辑:程序博客网 时间:2024/06/04 20:24
package test815.night;
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.util.Arrays;
import java.util.Scanner;
public class FileTest {
private static boolean flag = false;
public static void main(String[] args) { // TODO Auto-generated method stub String path = null;// "D:\\t";//要复制的文件夹 String path2 = null;// "D:\\tt"; String info = "请输入您要复制的文件的路径: 如【D:\\t 如果不输入盘符 ,则默认当前目录】"; path = inputPath(info); String info2 = "请输入您要粘贴的文件的路径: 如【D:\\tt 如果不输入盘符 ,则默认当前目录】"; path2 = inputPath(info2); System.out.println("开始复制,请稍等……"); isFile(path, path2); if (flag) { System.out.println("复制完毕end"); } else { System.out.println("复制失败end"); }}public static String inputPath(String info) { System.out.println(info); Scanner sc = new Scanner(System.in); String pathString = sc.nextLine(); return pathString;}// 对原路径进行判断public static void isFile(String path, String path2) { File file = new File(path);// 获取path地址对应的文件 if (file.exists()) { File newpathFile = new File(path2);// 建立新的路径文件 newpathFile.mkdir(); String[] str = file.list();// 获得该文件下的子文件和子目录的名称 // System.out.println(str.length); System.out.println(path + " 中原有文件为: " + Arrays.toString(str)); for (String string : str) {// 遍历 String oldpath = path + "\\" + string;// 组合新的路径 String newpath = path2 + "\\" + string;// 对应的新文件夹 组合路径 File oldFile = new File(oldpath);// 取得对应的文件 if (oldFile.isDirectory()) {// 判断是否为目录 File newFile = new File(newpath);// 在对应的新路径下建立文件夹 newFile.mkdir(); isFile(oldpath, newpath);// 递归 进入到子文件夹内 } else { copy(oldpath, newpath);// 如果是文档,则开始复制 } } } else { System.out.println(path + " 原始路径有误!"); }}public static void copy(String path, String path2) { flag = false; FileInputStream fis = null; FileOutputStream fos = null; byte[] bs = new byte[2048]; BufferedInputStream bis = null; BufferedOutputStream bos = null; try { fis = new FileInputStream(path); fos = new FileOutputStream(path2); bis = new BufferedInputStream(fis); bos = new BufferedOutputStream(fos); int x = bis.read(bs); while (x != -1) { bos.write(bs, 0, x); x = bis.read(bs); } bos.flush(); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { if (bis != null) { try { bis.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } if (fis != null) { try { fis.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } if (bos != null) { try { bos.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } if (fos != null) { try { fos.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } flag = true; }}
}
0 0
- java 文件夹及其子目录 子文件的复制
- 文件夹及其子目录复制
- File文件基本操作之一: java 复制文件夹及其下面的子文件夹
- IO流之复制文件夹中及其子目录中的文件
- linux环境下,只复制文件夹目录及其子目录,不复制文件夹下面的文件,附:windows下的情况
- Java 列举出文件夹及其子文件夹下的文件
- Linux下复制指定的目录及其子目录下的文件,到其他文件夹下(4种方法)
- Java复制一个目录及其子目录的文件到另外一个目录
- java复制文件夹以及其中的文件
- java--基础---复制文件夹及其中的文件
- 【Java】移动文件夹及其所有子文件与子文件夹
- Java复制文件夹及子文件
- Java:复制文件夹及子文件
- java删除文件夹及其子文件
- java删除文件夹及其子文件
- Java删除文件夹以及文件夹下的子目录与文件
- Java删除文件夹以及文件夹下的子目录与文件
- 批处理:复制目录A及其A子目录里的文件到A并删掉所有子目录
- git
- windows Socket编程之完成端口模型
- PHP 文件下载 浅析
- Java线程(三):线程协作-生产者/消费者问题
- Android Drawable之ScaleDrawable
- java 文件夹及其子目录 子文件的复制
- device eth0 does not seem to be present解决
- 接口
- linux常用操作
- C++静态库与动态库、创建及调用方法
- JAVA深入研究——Method的Invoke方法
- Jave虚拟机划分的三个代: 年轻代、年老代和持久代
- 【BZOJ2669】【JZOJ4700】Garden
- 51nod oj 1298 圆与三角形 【数学几何】