java 实现文件夹的拷贝实例代码

java 实现文件夹的拷贝实例代码

        这里就直接上代码,废话不多说,很简单很实用。

实例代码:

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

public class CopyFile {

  public static void copy(String sourceFile , String targetFile) throws Exception{
    FileInputStream in = null;
    FileOutputStream out = null;
    try{
      in = new FileInputStream(new File(sourceFile));
      out = new FileOutputStream(new File(targetFile));
      int c;
      while ((c = in.read()) != -1 ){
        out.write(c);
      }
    }
    finally{
      if (in != null){
        in.close();
      }
      if(out != null){
        out.close();
      }
    }
  }

  public static void main(String[] agrs) throws Exception{
    String filedir = "./tupu0";
    String targetDir = "./MovieList/";
    File directory = new File(filedir);
    File[] fileList = directory.listFiles();
    for(int i=0; i<fileList.length; i++){
      String sourceFile = "./tupu0/" + fileList[i].getName() + "/" + fileList[i].getName() +".txt";
      String targetFile = targetDir + fileList[i].getName();
      System.out.println(fileList[i].getName());
      copy(sourceFile, targetFile);
    }
  }
}

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

(0)

相关推荐

  • 深入理解java中的拷贝机制

    前言 众所周知在Java中,拷贝分为深拷贝和浅拷贝两种.java在公共超类Object中实现了一种叫做clone的方法,这种方法clone出来的新对象为浅拷贝,而通过自己定义的clone方法为深拷贝. (一)Object中clone方法 如果我们new出一个新对象,用一个声明去引用它,之后又用另一个声明去引用前一个声明,那么最后的结果是:这两个声明的变量将指向同一个对象,一处被改全部被改.如果我们想创建一个对象的copy,这个copy和对象的各种属性完全相同,而且修改这个copy和原对象毫无关系

  • java对象拷贝详解及实例

    java对象拷贝详解及实例 Java赋值是复制对象引用,如果我们想要得到一个对象的副本,使用赋值操作是无法达到目的的: @Test public void testassign(){ Person p1=new Person(); p1.setAge(31); p1.setName("Peter"); Person p2=p1; System.out.println(p1==p2);//true } 如果创建一个对象的新的副本,也就是说他们的初始状态完全一样,但以后可以改变各自的状态,

  • java使用nio2拷贝文件的示例

    这个程序只是为了更方便的进行拷贝文件(夹)而创造.1.可以不用新建文件夹,就像windows的复制粘贴一样简单.2.有简单的出错重连机制3.不需要重复拷贝,差异化复制文件.4.拷贝文件夹的时候可以不用复制全路径,只关注需要拷贝的文件夹.5.程序做了简单的必要检查,效率也不算低.6.使用的是7的nio2的新API. 复制代码 代码如下: import java.io.IOException;import java.nio.file.FileVisitResult;import java.nio.f

  • 探讨java深拷贝

    本文将讨论以下4个问题 1. java Cloneable接口实现深拷贝     2. java 序列化实现深拷贝     3. 号称最快的深拷贝二方库cloning源码分析     4. 几种拷贝方式速度的比较 深拷贝的概念本文就不说了.在C++中实现深拷贝一般情况下重载赋值操作符 "=" 来实现同一个类的对象间的深拷贝,所以很自然的在java中我们也同样可以定义一个copy函数,在函数内部为对象的每一个属性作赋值操作.这种方式简单自然,但存在一个致命性的问题:如果有一天在类中新增加

  • Java中的深拷贝和浅拷贝介绍

    一.引言   对象拷贝(Object Copy)就是将一个对象的属性拷贝到另一个有着相同类类型的对象中去.在程序中拷贝对象是很常见的,主要是为了在新的上下文环境中复用对象的部分或全部 数据.Java中有三种类型的对象拷贝:浅拷贝(Shallow Copy).深拷贝(Deep Copy).延迟拷贝(Lazy Copy). 二.浅拷贝 1.什么是浅拷贝   浅拷贝是按位拷贝对象,它会创建一个新对象,这个对象有着原始对象属性值的一份精确拷贝.如果属性是基本类型,拷贝的就是基本类型的值:如果属性是内存地

  • java文件复制代码片断(java实现文件拷贝)

    一.要完成这个程序需要了解的知识点: 1.编写简单的Java程序,比如hello world ---废话了....哈哈 2.了解java的文件操作 3.了解java的buffer操作 4.对文件操作的一些异常处理点:1.源文件不能读取到的情况. 2.目的文件创建失败的情况 3.文件锁问题 4.字符乱码问题...可能不全啊 这些是需要用到的包 import java.io.BufferedInputStream; import java.io.BufferedOutputStream; impor

  • java 深拷贝与浅拷贝机制详解

     java 深拷贝与浅拷贝机制详解 概要: 在Java中,拷贝分为深拷贝和浅拷贝两种.java在公共超类Object中实现了一种叫做clone的方法,这种方法clone出来的新对象为浅拷贝,而通过自己定义的clone方法为深拷贝. (一)Object中clone方法 如果我们new出一个新对象,用一个声明去引用它,之后又用另一个声明去引用前一个声明,那么最后的结果是:这两个声明的变量将指向同一个对象,一处被改全部被改.如果我们想创建一个对象的copy,这个copy和对象的各种属性完全相同,而且修

  • java 实现文件夹的拷贝实例代码

    java 实现文件夹的拷贝实例代码         这里就直接上代码,废话不多说,很简单很实用. 实例代码: import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; public class CopyFile { public static void copy(String sourceFile , Str

  • Java实现文件监控器FileMonitor的实例代码

    应用场景: 代码可以实现文件变化后的监听,如文件变化,自动重新加载文件内容,实现配置文件的热部署. 代码: package com.yx.demo.filemonitor; import java.io.File; import java.lang.ref.WeakReference; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util.Iterat

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

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

  • java实现文件夹上传功能实例代码(SpringBoot框架)

    目录 前言 一.前端如何设置上传组件并将资源上传到后台服务 1)首先我们需要新建一个用来提交文件夹的form表单 2)然后我们添加自己框架内的一些按钮来触发该隐藏的表单 二.后台如何接收处理文件夹表单数据 总结 前言 有时我们后台管理等服务可能会有这样一个简单需求,就是根据文件夹将整个文件夹下的所有资源都上传到我们的服务器上,本人也是搜索了大量资料,最终以最简单便捷的方式实现该功能,具体操作步骤如下 一.前端如何设置上传组件并将资源上传到后台服务 这里的项目框架为若依VUE版本,下面将核心的代码

  • linux下用renameTo方法修改java web项目中文件夹名称的实例

    经测试,在Linux环境中安装tomcat,然后启动其中的项目,在项目中使用java.io.File.renameTo(File dest)方法可行. 之前在本地运行代码可以修改,然后传到Linux服务器上一直无法实现功能,自己一直在捣鼓,以为是window环境和Linux环境不同的原因导致,后面发现在项目中使用renameTo方法修改文件夹名称不行是因为之前改了java web项目中的js,在js中传入值到后台,后台根据值来修改文件夹名称.由于没清除缓存导致js中的代码没有刷新,所以一直出现错

  • Java与WebUploader相结合实现文件上传功能(实例代码)

    之前自己写小项目的时候也碰到过文件上传的问题,没有找到很好的解决方案.虽然之前网找各种解决方案的时候也看到过WebUploader,但没有进一步深究.这次稍微深入了解了些,这里也做个小结. 简单的文件和普通数据上传并保存 jsp页面: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE h

  • java向文件中追加内容与读写文件内容源码实例代码

    java向文件中追加内容与读写文件内容源码实例代码 向文件尾加入内容有多种方法,常见的方法有两种: RandomAccessFile类可以实现随机访问文件的功能,可以以读写方式打开文件夹的输出流 public void seek(long pos)可以将读写指针移到文件尾,参数Pos表示从文件开头以字节为单位测量的偏移位置,在该位置文件指针. public void write(int pos)将数据写到读写指针后面,完成文件的追加.参数pos表示要写入的Byte 通过FileWrite打开文件

  • Java防止文件被篡改之文件校验功能的实例代码

    1.为什么要防止文件被篡改? 答案是显然的,为了保证版权,系统安全性等.之前公司开发一个系统,技术核心是一个科学院院士的研究成果,作为一款商业软件来说,保证公司及作者版权是非常重要的.系统安全性就更不用说了,系统两三下就被搞垮了,那这个系统就不算是一个合格的系统. 2.文件校验和作用 我们都知道,一个系统或者软件都是由众多文件组成的.文件校验和的作用就是保证系统版本的正确性和唯一性.具体原理下面会详细解释. 3.文件校验和的原理 思路和实现的方式可能多种多样,我说的是自己的思路和实现方式,请读者

  • JAVA获取当前项目和文件所在路径的实例代码

    直接上代码: //当前项目下路径 File file = new File(""); String filePath = file.getCanonicalPath(); System.out.println(filePath); //当前项目下xml文件夹 File file1 = new File(""); String filePath1 = file1.getCanonicalPath()+File.separator+"xml\\";

  • java 删除文件夹中的所有内容而不删除文件夹本身的实例

    实例如下: package com.xx; import java.io.File; public class Test { public static void main(String[] args) { String fileRoot = "C:/Users/xx/Desktop/xx/xxx"; delFolder(fileRoot); System.out.println("deleted"); } // // 删除完文件后删除文件夹 // // param

随机推荐