Atitit.跨语言 文件夹与文件的io操作集合 草案
Atitit.跨语言 文件夹与文件的io操作集合 草案
2. PS: apache commons-io包,FileUtils有相关的方法,IOUtils一般是拷贝文件。1
1. Jdk原生的太难用了。。
2. PS: apache commons-io包,FileUtils有相关的方法,IOUtils一般是拷贝文件。
删除目录结构 FileUtils.deleteDirectory(dest);
递归复制目录及文件 FileUtils.copyDirectory(src, dest);
作者:: 绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 ) 汉字名:艾龙, EMAIL:1466519819@qq.com
转载请注明来源: http://www.cnblogs.com/attilax/
package aaaAddr;
import java.io.File;
import java.io.IOException;
import org.apache.commons.io.FileUtils;
public class copyDirTest {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
FileUtils.copyDirectory(new File("c:\\00"), new File("c:\\00Copy"));
System.out.println("--f");
}
}
Detail use
1. /**
2. * 复制一个目录及其子目录、文件到另外一个目录
3. * @param src
4. * @param dest
5. * @throws IOException
6. */
package aaaAddr;
import java.io.File;
import java.io.IOException;
import java.util.concurrent.Callable;
import java.util.concurrent.FutureTask;
import org.apache.commons.io.FileUtils;
import com.attilax.io.filex;
public class copyDirTest {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
FutureTask<Object> task=new FutureTask<Object>( new Callable () {
@Override
public Object call() throws Exception {
while(true)
{
String pathname = "c:\\11Copy"+filex.getUUidName();
System.out.println(pathname);
FileUtils.copyDirectory(new File("c:\\11"), new File(pathname));
System.out.println("--f");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//return null;
}
});
new Thread(task).start();
}
}
3. Java raw
7. private void copyFolder(File src, File dest) throws IOException {
8. if (src.isDirectory()) {
9. if (!dest.exists()) {
10. dest.mkdir();
11. }
12. String files[] = src.list();
13. for (String file : files) {
14. File srcFile = new File(src, file);
15. File destFile = new File(dest, file);
16. // 递归复制
17. copyFolder(srcFile, destFile);
18. }
19. } else {
20. InputStream in = new FileInputStream(src);
21. OutputStream out = new FileOutputStream(dest);
22.
23. byte[] buffer = new byte[1024];
24.
25. int length;
26.
27. while ((length = in.read(buffer)) > 0) {
28. out.write(buffer, 0, length);
29. }
30. in.close();
31. out.close();
32. }
33. }
4. 获取磁盘分区列表 驱动器列表
/**
* {
"path": "C:\\"
}
{
"path": "D:\\"
}
{
"path": "E:\\"
}
{
"path": "F:\\"
}
{
"path": "Z:\\"
}
* @param args
*/
public static void main(String[] args) {
//FileChangeObserver
File[] roots = File.listRoots();// 获取磁盘分区列表
for (File file : roots) {
System.out.println(AtiJson.toJson(file));
}
}
}
5. ref
java拷贝目录及其子目录、文件,到另外一个目录 - 一切为了程序 - 博客频道 - CSDN.NET.htm
Atitit.跨语言 文件夹与文件的io操作集合 草案的更多相关文章
- atitit.跨语言实现备份mysql数据库 为sql文件特性 api 兼容性java c#.net php js
atitit.跨语言实现备份mysql数据库 为sql文件特性 api 兼容性java c#.net php js 1. 两个方法:: bat vs mysqldump(推荐) vs lang ...
- C语言判断文件夹或者文件是否存在的方法【转】
C语言判断文件夹或者文件是否存在的方法 方法一:access函数判断文件夹或者文件是否存在 函数原型: int access(const char *filename, int mode); 所 ...
- day18 时间:time:,日历:calendar,可以运算的时间:datatime,系统:sys, 操作系统:os,系统路径操作:os.path,跨文件夹移动文件,递归删除的思路,递归遍历打印目标路径中所有的txt文件,项目开发周期
复习 ''' 1.跨文件夹导包 - 不用考虑包的情况下直接导入文件夹(包)下的具体模块 2.__name__: py自执行 '__main__' | py被导入执行 '模块名' 3.包:一系列模块的集 ...
- atitit.跨语言执行cmd cli api的原理及兼容性设计草案
atitit.跨语言执行cmd cli api的原理及兼容性设计草案 1. 标准输入,标准输出,标准错误与重新定向1 2. 常见问题2 2.1. 执行bat文件2 2.2. 执行bat文件 /c ...
- Atitit.跨语言反射api 兼容性提升与增强 java c#。Net php js
Atitit.跨语言反射api 兼容性提升与增强 java c#.Net php js 1. 什么是反射1 1.1. 反射提供的主要功能:1 1.2. 实现反射的过程:1 ...
- [MSDN]使用 REST 处理文件夹和文件
msdn: http://msdn.microsoft.com/zh-cn/library/dn292553.aspx 了解如何使用 SharePoint 2013 REST 界面对文件夹和文件执行基 ...
- bat 复制文件夹,文件名递增 等操作
句尾无';' @echo off : 回显,使命令不在dos中一行一行输出 pause : 暂停,以便看到输出结果 变量 %% 与 % % : https://zhidao.baidu.com/que ...
- SharePoint REST API - 文件夹和文件
博客地址:http://blog.csdn.net/FoxDave 本篇讲述如何通过REST操作文件夹和文件. 使用REST操作文件夹 在你知道某个文档库中的文件夹的URL时,可以使用如下的代码获 ...
- python调用另一个文件中的代码,pycharm环境下:同文件夹下文件(.py)之间的调用,出现红线问题
如何调用另一个python文件中的代码无论我们选择用何种语言进行程序设计时,都不可能只有一个文件(除了“hello world”),通常情况下,我们都需要在一个文件中调用另外一个文件的函数呀数据等等, ...
随机推荐
- hadoop 编译代码及运行
搞定了hadoop配置之后,可以写代码运行了,首先要配一下CLASS_PATH,修改/etc/profile export JAVA_HOME=/usr/lib/jvm/java--openjdk-i ...
- CodeForces - 986C AND Graph
不难想到,x有边连出的一定是 (2^n-1) ^ x 的一个子集,直接连子集复杂度是爆炸的...但是我们可以一个1一个1的消去,最后变成补集的一个子集. 但是必须当且仅当 至少有一个 a 等于 x 的 ...
- [Baltic2003] Gem
[Baltic2003]Gem Time Limit: 2 Sec Memory Limit: 64 MBSubmit: 501 Solved: 320[Submit][Status][Discu ...
- 洛谷 P3690 Link Cut Tree
题目背景 动态树 题目描述 给定N个点以及每个点的权值,要你处理接下来的M个操作.操作有4种.操作从0到3编号.点从1到N编号. 0:后接两个整数(x,y),代表询问从x到y的路径上的点的权值的xor ...
- 【整体二分+莫比乌斯函数+容斥原理】BZOJ2440
[题目大意] 求第k个不是完全平方数或完全平方数整数倍的数. [思路] 由于μ(i)*(n/i^2)=n,可以直接从1开始,得出非完全平方数/完全平方数倍数的数的个数 注意一下二分的写法,这里用的是我 ...
- Spring的Aop 注解配置
1,导包 2,准备目标对象 package com.songyan.anno; public interface UserService { void save(); void delete(); v ...
- Swift中计算String的长度
extension String { var length: Int { return countElements(self) } // Swift 1.1 } extension ...
- Qemu 有用的链接
Qemu下载和编译 Download https://en.wikibooks.org/wiki/QEMU/Linux https://en.wikibooks.org/wiki/QEMU/Insta ...
- IDEA中添加类的创建者信息
创建方法: 1. 使用快捷键(ctrl + alt + s),在弹出框中左边侧选择 Editor -> File and Code Templates,左边侧相应会更新 右边侧选择 Class, ...
- 【sql】mysql数据库做两条数据替换的操作,不使用第三方变量
需求: 1.将数据库中两条数据中的唯一约束列 做值的替换 原始思想: 将两条数据查出来,在程序中设置第三方变量,进行两条数据的替换,然后将原始两条数据删除,将新的两条替换后的数据插入. 新思想: 1 ...