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”),通常情况下,我们都需要在一个文件中调用另外一个文件的函数呀数据等等, ...
随机推荐
- Gitlab运维
安装Gitlab 新建 /etc/yum.repos.d/gitlab-ce.repo [gitlab-ce] name=gitlab-ce baseurl=http://mirrors.tuna.t ...
- POJ 3260 The Fewest Coins(背包问题)
[题目链接] http://poj.org/problem?id=3260 [题目大意] 给出你拥有的货币种类和每种的数量,商店拥有的货币数量是无限的, 问你买一个价值为m的物品,最少的货币流通数量为 ...
- 7.2(java学习笔记)URL
一.URL URL类表示统一资源定位符,指向万维网上“资源”的指针. 资源可以是简单的文件或目录,也可以是对更复杂对象的引用,比如对数据库或搜索引擎的查询. URL即是定位也是资源,定位到网络中一个具 ...
- java web定时任务---Timer
写在前面: 在最近的项目中需要每天定时对数据库表进行查询,并完成相关数据的更新操作.首先让我想到的是Timer类,记得在一开始维护那个老系统的时候,开了个接口,也涉及到了定时的操作.下面就记录下大概的 ...
- AngularJS的$resource
$http $http服务是基于$q服务的,提供了promise封装,它接受一个配置对象参数,并返回一个promise对象.同时,它还提供了2个方法用来定义Promise回调:success 和 er ...
- FrameLayout 布局
(一) 1.效果图:颜色一直在改变,实现霓虹灯的效果 2.activity_main.xml <?xml version="1.0" encoding="utf-8 ...
- Android中的动态字符串的处理
1.效果显示 2. MainAcitivity.java package com.example.app2; import android.support.v7.app.AppCompatActivi ...
- JQuery获取第几个元素和判断元素在第几个
HTML代码: <ul> <li>jQuery判断当前元素是第几个元素示例</li> <li>jQuery获取第N个元素示例</li> &l ...
- SeaJS入门
Sea.js是一种模块加载工具 官网:http://seajs.org/docs/ 使用步骤: 1.下载sea.js 2.引入sea.js 3.加入配置代码 // seajs 的简单配置 seajs. ...
- Android中的线程池 ThreadPoolExecutor
线程池的优点: 重用线程池中的线程,避免因为线程的创建和销毁带来的性能消耗 能有效的控制线程的最大并发数,避免大量的线程之间因抢占系统资源而导致的阻塞现象 能够对线程进行简单的管理,并提供定时执行以及 ...