Java实现文件或文件夹的复制到指定目录实例

整理文档,搜刮出一个Java实现文件或文件夹的复制到指定目录的代码,稍微整理精简一下做下分享。

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream; 

public class Test {
  private static int a = 5; 

  public static void main(String[] args) {
    //需要复制的目标文件或目标文件夹
    String pathname = "C:/Users/likun/Desktop/git_project";
    File file = new File(pathname);
    //复制到的位置
    String topathname = "C:/Users/likun/Desktop/movie";
    File toFile = new File(topathname);
    try {
      copy(file, toFile);
    } catch (Exception e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
  } 

  public static void copy(File file, File toFile) throws Exception {
    byte[] b = new byte[1024];
    int a;
    FileInputStream fis;
    FileOutputStream fos;
    if (file.isDirectory()) {
      String filepath = file.getAbsolutePath();
      filepath=filepath.replaceAll("\\\\", "/");
      String toFilepath = toFile.getAbsolutePath();
      toFilepath=toFilepath.replaceAll("\\\\", "/");
      int lastIndexOf = filepath.lastIndexOf("/");
      toFilepath = toFilepath + filepath.substring(lastIndexOf ,filepath.length());
      File copy=new File(toFilepath);
      //复制文件夹
      if (!copy.exists()) {
        copy.mkdir();
      }
      //遍历文件夹
      for (File f : file.listFiles()) {
        copy(f, copy);
      }
    } else {
      if (toFile.isDirectory()) {
        String filepath = file.getAbsolutePath();
        filepath=filepath.replaceAll("\\\\", "/");
        String toFilepath = toFile.getAbsolutePath();
        toFilepath=toFilepath.replaceAll("\\\\", "/");
        int lastIndexOf = filepath.lastIndexOf("/");
        toFilepath = toFilepath + filepath.substring(lastIndexOf ,filepath.length()); 

        //写文件
        File newFile = new File(toFilepath);
        fis = new FileInputStream(file);
        fos = new FileOutputStream(newFile);
        while ((a = fis.read(b)) != -1) {
          fos.write(b, 0, a);
        }
      } else {
        //写文件
        fis = new FileInputStream(file);
        fos = new FileOutputStream(toFile);
        while ((a = fis.read(b)) != -1) {
          fos.write(b, 0, a);
        }
      } 

    }
  } 

} 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • java读取resource目录下文件的方法示例

    本文主要介绍的是java读取resource目录下文件的方法,比如这是你的src目录的结构 ├── main │ ├── java │ │ └── com │ │ └── test │ │ └── core │ │ ├── bean │ │ ├── Test.java │ └── resources │ └── test │ ├── test.txt └── test └── java 我们希望在Test.java中读取test.txt文件中的内容,那么我们可以借助Guava库的Resource

  • Java删除文件、目录及目录下所有文件的方法实例

    前言 本文主要实现的功能是删除某个目录及目录下的所有子目录和文件,涉及到的知识点:File.delete()用于删除"某个文件或者空目录"!所以要删除某个目录及其中的所有文件和子目录,要进行递归删除. 具体代码示例如下: import java.io.File; public class DeleteDirectory { /** * 删除空目录 * @param dir 将要删除的目录路径 */ private static void doDeleteEmptyDir(String

  • Java编程获取文件列表及子文件目录的方法(非递归)

    废话不谈,直接进入正题,理解见代码注释. // 非递归 public List<String> scanFiles(String path) { List<String>filePaths = new ArrayList<String>(); LinkedList<File> list = new LinkedList<File>(); File dir = new File(path); File[] file = dir.listFiles(

  • java 对文件夹目录进行深度遍历实例代码

    java 对文件夹目录进行深度遍历实例代码 1.题目 对指定目录进行所有内容的列出(包含子目录中的内容),也可以理解为对目录进行深度遍历. 2.解题思想 从电脑中获取文件目录,建立函数对其遍历,在这个函数中需要对该目录中的每个文件进行判断,如果文件还是目录,则调用函数本身继续对其进行遍历,如果文件不是目录,则直接输出文件名.为了加强显示的效果,我们还可以建立一个getSpace函数,对其进行缩进. 需要注意的是,不要直接遍历C盘的内容,其目录层次太深,含有太多的系统级文件,容易返回为空,导致空指

  • java判断ftp目录是否存在的方法

    本文为大家分享了java判断ftp目录是否存在的方法,供大家参考,具体内容如下 package com.soft4j.log4j; import java.io.IOException; import sun.net.ftp.FtpClient; public class FtpTest { static String middle_ftpServer = "10.103.2.250"; static String middle_user = "ora9iftp";

  • Java实现文件或文件夹的复制到指定目录实例

    整理文档,搜刮出一个Java实现文件或文件夹的复制到指定目录的代码,稍微整理精简一下做下分享. import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; public class Test { private static int a = 5; public static void main(String[] args) { //需要复制的目标文件或目标文件夹 String path

  • JDK1.7 Paths,Files类实现文件夹的复制与删除的实例

    实例如下所示: public static void copyFolder(String srcFolder, String destFolder) throws IOException { long startTime = System.currentTimeMillis(); final Path srcPath = Paths.get(srcFolder); // 这里多创建一级,就解决了没有外壳的问题 final Path destPath = Paths.get(destFolder,

  • Java实现指定目录下的文件查找详解

    Java实现指定目录下的文件查找 入门Java实现文件的查找功能较为简单,主要有以下两种: 1.给出文件名,查找目录及其子目录中是否存在 2.给出后缀名,查找目录及其子目录中相关的文件 题型一: 题目:在指定目录下查找一个文件,如果目录或子目录下有查找的文件,返回文件所在的目录,否则输出 “当前目录下没有此文件”. package hello; import java.io.File; import java.util.*; public class 第七周第二题 { public static

  • java实现系统多级文件夹复制

    本文实例为大家分享了java实现系统多级文件夹复制的具体代码,供大家参考,具体内容如下 package com.jae; import java.io.*; //复制文件夹内的内容,包含多级文件夹 public class Test2 { public static void main(String[] args) throws Exception { //原文件夹地址 File resPath = new File("E:\\Java\\分享"); File destPath = n

  • Java的IO流实现文件和文件夹的复制

    本文实例为大家分享了Java的IO流实现文件和文件夹复制的具体代码,供大家参考,具体内容如下 1.使用文件流对单个文件进行复制 将某个文件复制到指定的路径下: //复制文件 public static void copy(File f1, String path) throws IOException {         System.out.println("***copy***" + f1.getName());         FileInputStream in = new F

  • java文件操作工具类实现复制文件和文件合并

    两个方法:1.复制一个目录下面的所有文件和文件夹2.将一个文件目录下面的所有文本文件合并到同一个文件中 复制代码 代码如下: package com.firewolf.test; import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException; public class FileReaderUtil { public static void

  • java删除文件和文件夹具体实现

    1,验证传入路径是否为正确的路径名(Windows系统,其他系统未使用)Java代码 复制代码 代码如下: // 验证字符串是否为正确路径名的正则表达式  private static String matches = "[A-Za-z]:\\\\[^:?\"><*]*";  // 通过 sPath.matches(matches) 方法的返回值判断是否正确  // sPath 为路径字符串 2,通用的文件夹或文件删除方法,直接调用此方法,即可实现删除文件夹或文件

  • Java实现文件及文件夹的删除

    本文实例为大家分享了Java实现文件及文件夹的删除,供大家参考,具体内容如下 1.删除单个文件 public static boolean deleteFile(String fileName) {         File file = new File(fileName);         // 如果文件路径只有单个文件         if (file.exists() && file.isFile()) {             if (file.delete()) {    

  • linux上配置jdk时,java命令提示没有此文件或文件夹的解决方法

    出现这个问题可能有以下几种原因: 1.对该文件没有执行的权限. 2.我们的机器是64位的,而下载的jdk是32位的. 我就是后一种原因造成的,好久才想明白. 以上这篇linux上配置jdk时,java命令提示没有此文件或文件夹的解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • Java中IO流文件读取、写入和复制的实例

    //构造文件File类 File f=new File(fileName); //判断是否为目录 f.isDirectory(); //获取目录下的文件名 String[] fileName=f.list(); //获取目录下的文件 File[] files=f.listFiles(); 1.Java怎么读取文件 package com.yyb.file; import java.io.File; import java.io.FileInputStream; import java.io.In

随机推荐