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”),通常情况下,我们都需要在一个文件中调用另外一个文件的函数呀数据等等, ...
随机推荐
- 搭建基于Ant+Jmeter+jenkins的自动负载测试框架的若干问题记录及解决
1.关于构建时使用的默认build.xml问题 如图,如果构建脚本build.xml不在workspace根目录.或者说构建脚本不叫build.xml.那么需要在高级里设置Build File选项的 ...
- [BZOJ1790][AHOI2008]Rectangle 矩形藏宝地(四维偏序,CDQ+线段树)
1790: [Ahoi2008]Rectangle 矩形藏宝地 Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 553 Solved: 193[Subm ...
- 【字符串哈希】bzoj3555 [Ctsc2014]企鹅QQ
枚举每个位置,给每个串的前半部分一个哈希值,后半部分一个哈希值,若是它们均相等,则视为这两个串相似. 每次转移之后,排序一下就行了. O(L*n*log(n)). #include<cstdio ...
- 【离散化】【扫描线】CH Round #59 - OrzCC杯NOIP模拟赛day1 队爷的新书
//上图绿色扫描线右侧少画了一条扫描线. 很多区间把数轴分成了很多段,看哪个点的(区间覆盖数*该点权值)最大. 显然在某个区间的右端点的答案是最优的. 排序后 用扫描线从左到右扫描,维护每个点的覆盖数 ...
- React Native学习之自定义Navigator
Navigator还是最常用的组件, 所以自己封装了一个, 使用起来也比较简单, 如下: 首先导入组件 var MLNavigator = require('../Lib/MLNavigator'); ...
- 今天升级Xcode 7.0 bata发现网络访问失败。
今天升级Xcode 7.0 bata发现网络访问失败.输出错误信息 The resource could not be loaded because the App Transport Securit ...
- [转]C++中关于new和delete的使用
转载的地址 近一直在啃 C++ Primer 中文版第4版,发现 C++中new和delete应用遍布全书,现对其使用作简单总结.在C++中,可以使用new和delete动态创建和释放数组或者单个对象 ...
- 如何判断一个请求是不是ajax请求
原文:http://blog.csdn.net/easy_is_good/article/details/53609057 public boolean isAjaxRequest(HttpServl ...
- MORMOT数据库连接池
MORMOT数据库连接池 MORMOT封装了一堆的PROPS控件,用于连接各种数据库. MORMOT的封装是武装到了牙齿的,这堆PROPS控件居然数据库连接池也封装好了.这就为我们省了不少事,笔者非常 ...
- FL2440 rt3070模块station模式动态获取IP地址
---------------------------------------------------------------------------------------------------- ...