本案例采用第三方 jar 包完成,commons-io-2.5.jar,

这个 jar 对文件操作非常方便,大家可以尝试使用一下。

这里贴一个简单的 demo 供大家使用

import java.io.File;
import java.io.IOException; import org.apache.commons.io.FileUtils; public class MyFileUtils {
public static void main(String[] args) throws IOException { String srcPath = "F:/copyFile/src";
String destPath = "F:/copyFile/dest123";
copyFile(srcPath, destPath); // copyDirectory(srcPath, destPath);
// readFileToString(srcPath);
} // 创建文件夹
public static void makeDir(String destPath) {
File newFilePath = new File(destPath);
if (!newFilePath.exists()) {
newFilePath.mkdirs();
}
} // 复制文件夹及其内容
public static void copyDirectory(String srcPath, String destPath) throws IOException {
File file = new File(srcPath);
makeDir(destPath);
File destFile = new File(destPath);
FileUtils.copyDirectory(file, destFile);
} // 复制文件(应用场景:复制的同时更改文件名称)
public static void copyFile(String srcPath, String destPath) throws IOException {
File src = new File(srcPath);
makeDir(destPath);
File[] srcFiles = src.listFiles();
if (srcFiles.length > 0) {
for (File file : srcFiles) {
String filename = file.getName();
if (file.isDirectory()) {
copyFile(file.getAbsolutePath(), destPath);
}
if (filename.endsWith("html")) {
int index = filename.indexOf(".");
String newFileName = filename.substring(0, index) + "复制" + filename.substring(index);
File destFile = new File(destPath + "/" + newFileName);
FileUtils.copyFile(file, destFile);
}
}
}
} // 把文件 内容转成字符串
public static void readFileToString(String srcPath) throws IOException {
File src = new File(srcPath);
File[] srcFiles = src.listFiles();
if (srcFiles.length > 0) {
for (File file : srcFiles) {
String filename = file.getName();
if (file.isDirectory()) {
readFileToString(file.getAbsolutePath());
}
if (filename.endsWith("html")) {
String str = FileUtils.readFileToString(file, "utf-8");
System.out.println(str);
}
}
}
}
}

简单说明一下,

复制文件,包含文件夹 用到   FileUtils.copyDirectory(file, destFile);  

复制单个文件  FileUtils.copyFile(file, destFile);

把文件内容读取为字符串  FileUtils.readFileToString(file, "utf-8");

java 文件复制操作的更多相关文章

  1. Java基础面试操作题: File IO 文件过滤器FileFilter 练习 把一个文件夹下的.java文件复制到另一个文件夹下的.txt文件

    package com.swift; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File ...

  2. [转]Windows系统中监控文件复制操作的几种方式

    1. ICopyHook 作用: 监视文件夹和打印机移动,删除, 重命名, 复制操作. 可以得到源和目标文件名. 可以控制拒绝操作. 缺点: 不能对文件进行控制. 只对Shell文件操作有效, 对原生 ...

  3. IO复制多级目录 控制台输入文件目录然后把目录下java文件复制到 D: 并统计java个数

    package cn.itcast_05; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; impor ...

  4. Windows系统中监控文件复制操作的几种方式

    http://blog.sina.com.cn/s/blog_4596beaa0100lp4y.html 1. ICopyHook 作用: 监视文件夹和打印机移动,删除, 重命名, 复制操作. 可以得 ...

  5. java基础 File 递归删除文件夹中所有文件文件夹 目录(包含子目录)下的.java文件复制到e:/abc文件夹中, 并统计java文件的个数

    File 递归删除文件夹中所有文件文件夹 package com.swift.kuozhan; import java.io.File; import java.util.Scanner; /*键盘录 ...

  6. Java算法面试题:编写一个程序,将e:\neck目录下的所有.java文件复制到e:\jpg目录下,并将原来文件的扩展名从.java改为.jpg

    package com.swift; import java.io.File; import java.io.FileFilter; import java.io.FileInputStream; i ...

  7. Java文件复制删除操作合集

    import java.io.*; public class FileOperate { public FileOperate() { } /** * 新建目录 * @param folderPath ...

  8. JAVA File方法各类文件复制操作

    import java.io.*; public class AllFile { public static void main(String[] args) throws Exception {// ...

  9. Java文件IO操作应该抛弃File拥抱Paths和Files

    Java7中文件IO发生了很大的变化,专门引入了很多新的类: import java.nio.file.DirectoryStream;import java.nio.file.FileSystem; ...

随机推荐

  1. Bootstrap 网格系统(Grid System)实例3

    Bootstrap 网格系统(Grid System)实例:堆叠水平 <!DOCTYPE html><html><head><meta http-equiv= ...

  2. JS设置组合快捷键

    为提升用户体验,想要在web页面中通过组合快捷键调出用户帮助页面,具体实现思路是监听keyup事件,在相应的处理函数中进行逻辑编写,代码如下 $(document).keyup(function (e ...

  3. LeetCode 最大子序和

    给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和. 示例: 输入: [-2,1,-3,4,-1,2,1,-5,4], 输出: 6 解释: 连续子数组 ...

  4. 使用Redis作为高速缓存

    Redis适合哪些业务场景常规业务系统的数据库访问中,读写操作的比例一般在7/3到9/1,也就是说读操作远多于写操作,因此高并发系统设计里,通过NoSQL技术将热点数据(短期内变动概率小的数据)放入内 ...

  5. Python9-封装-day26(大年初三)

    class Room: def __init__(self,name,length,width): self.__name = name self.__length = length self.__w ...

  6. addEvenListener('DOMContentLoaded',function(){})

  7. 【08】css sprite是什么,有什么优缺点

    [08]css sprite是什么?有什么优缺点? 概念:将多个小图片拼接到一个图片中.通过background-position和元素尺寸调节需要显示的背景图案. 优点: 减少HTTP请求数,极大地 ...

  8. NYOJ 747 蚂蚁的难题(三)

    蚂蚁的难题(三) 时间限制:2000 ms  |  内存限制:65535 KB 难度:4   描述 蚂蚁终于把尽可能多的食材都搬回家了,现在开始了大厨计划. 已知一共有 n 件食材,每件食材有一个美味 ...

  9. [android开发篇]权限列表

    http://www.open-open.com/lib/view/open1425868811607.html

  10. js对文字进行编码

    js对文字进行编码涉及3个函数:escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent 1 ...