java 文件复制操作
本案例采用第三方 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 文件复制操作的更多相关文章
- Java基础面试操作题: File IO 文件过滤器FileFilter 练习 把一个文件夹下的.java文件复制到另一个文件夹下的.txt文件
package com.swift; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File ...
- [转]Windows系统中监控文件复制操作的几种方式
1. ICopyHook 作用: 监视文件夹和打印机移动,删除, 重命名, 复制操作. 可以得到源和目标文件名. 可以控制拒绝操作. 缺点: 不能对文件进行控制. 只对Shell文件操作有效, 对原生 ...
- IO复制多级目录 控制台输入文件目录然后把目录下java文件复制到 D: 并统计java个数
package cn.itcast_05; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; impor ...
- Windows系统中监控文件复制操作的几种方式
http://blog.sina.com.cn/s/blog_4596beaa0100lp4y.html 1. ICopyHook 作用: 监视文件夹和打印机移动,删除, 重命名, 复制操作. 可以得 ...
- java基础 File 递归删除文件夹中所有文件文件夹 目录(包含子目录)下的.java文件复制到e:/abc文件夹中, 并统计java文件的个数
File 递归删除文件夹中所有文件文件夹 package com.swift.kuozhan; import java.io.File; import java.util.Scanner; /*键盘录 ...
- Java算法面试题:编写一个程序,将e:\neck目录下的所有.java文件复制到e:\jpg目录下,并将原来文件的扩展名从.java改为.jpg
package com.swift; import java.io.File; import java.io.FileFilter; import java.io.FileInputStream; i ...
- Java文件复制删除操作合集
import java.io.*; public class FileOperate { public FileOperate() { } /** * 新建目录 * @param folderPath ...
- JAVA File方法各类文件复制操作
import java.io.*; public class AllFile { public static void main(String[] args) throws Exception {// ...
- Java文件IO操作应该抛弃File拥抱Paths和Files
Java7中文件IO发生了很大的变化,专门引入了很多新的类: import java.nio.file.DirectoryStream;import java.nio.file.FileSystem; ...
随机推荐
- 【求助】NdisSend,自定义数据包发送失败?
做ndis hook的时候,自定义了一个数据包,包结构应该没有问题,填充NDIS_PACKET结构是这样的,先初始化: NdisAllocatePacketPool(&nStat ...
- Linux系统状态检测
基于Red Hat Enterprise Linux 7.5 1.ifconfig ifconfig用于获取和配置网络接口的网络参数,格式为“ifconfig [网络设备] [参数]” 参数: add ...
- laravel中migrate的使用
migration的使用是大大提高了我们开发的效率,数据库迁移大大的方便了我们.今天我就来给大家分享下migration 首先: laravel提供了我们一些基本的建表的规范: 表名:通常用名词+s的 ...
- 【php】 php 的注释和结束符号之间的关系
Closing PHP tags are recognised within single-line comments: <?php // Code will end here ?> ...
- python学习第一天 计算机基础知识
目录 什么是编程语言 什么是编程? 为什么要编程? 计算机5大组成分别有什么作用? qq启动的流程? 建议相关学习 课外 什么是编程语言 什么是编程语言? python和中文.英语一样,都是一门语言, ...
- hdu 5437
Alisha’s Party Time Limit: 3000/2000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) ...
- wei UI使用
1.前言 通过前面系列文章的学习与讲解,相信大家已经对微信的开发有了一个全新的认识.后端基本能够基于盛派的第三方sdk搞定大部分事宜,剩下的就是前端了.关于手机端的浏览器的兼容性问题相信一直是开发者们 ...
- java 罕见的依赖报错 jstat: error while loading shared libraries: libjli.so: cannot open shared object file: No such file or directory
java 都用了N长时间了,突然,意外地发现有一个依赖的so文件从来没找见过 # ldd /usr/bin/java linux-vdso.so.1 => (0x00007fffba76900 ...
- iOS-MVC设计模式不足
View 的最大的任务就是向 Controller 传递用户动作事件. ViewController 不再承担一切代理和数据源的职责,通常只负责一些分发和取消网络请求以及一些其他的任务. 1.1 苹果 ...
- Python常用操作符
Python常用操作符 1.成员关系操作符in 显示的数字前面填充'0'代替空格 6.转义字符 符号 含义 \' 单引号\" 双引号\a 发出系统响铃声\b 退格符\n 换行符\t 横向制表 ...