IO操作文件的复制与删除
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import org.junit.Test;
public class Delete {
/*
把d:/mywork复制成c:/mywork
写程序删除目录c:/mywork, delete()?
递归
*/
public void deleteDir(File dir){
//清空目录
System.out.println("删除目录:" + dir);
File[] listFiles = dir.listFiles();
for(int i = 0;i < listFiles.length;i++){
if(listFiles[i].isFile()){//测试此抽象路径名表示的文件是否是一个标准文件。
//如果是文件,直接删除
listFiles[i].delete();
}else if(listFiles[i].isDirectory()){//检查此路径是不是目录
deleteDir(listFiles[i]);
//因为子目录也是目录, 继续调用删除目录的方法即可
}
}
dir.delete();//只能删除空目录
}
@Test
public void delete(){
File file = new File("c:/xxxx");//此处填写文件名
deleteDir(file);
}
public void copyDir(File dir1,File dir2) throws IOException{
System.out.println("复制目录:" + dir1 + "到" + dir2);
//新建目标目录
dir2.mkdir();
//遍历源目录,把其中的内容复制到目标目录中
File[] listFiles = dir1.listFiles();// 返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件。
for(int i = 0;i < listFiles.length;i++){
if(listFiles[i].isFile()){
//文件复制
File f1 = listFiles[i];
File f2 = new File(dir2.getAbsolutePath() + "/" + f1.getName());
copyFile(f1,f2);
}else if(listFiles[i].isDirectory()){
copyDir(listFiles[i],new File(dir2.getAbsolutePath() + "/" + listFiles[i].getName()));
}
}
}
private void copyFile(File f1,File f2) throws IOException{
FileInputStream fis = new FileInputStream(f1);
FileOutputStream fos = new FileOutputStream(f2);
byte[] buf = new byte[8192];
int realCount = fis.read(buf);
while (realCount != -1) {
fos.write(buf,0,realCount);
realCount = fis.read(buf);
}
fis.close();
fos.close();
}
@Test
public void copy(){
File dir1 = new File("路径");
File dir2 = new File("路径");
try {
copyDir(dir1, dir2);
} catch (Exception e) {
e.printStackTrace();
}
}
}
IO操作文件的复制与删除的更多相关文章
- java文件和文件夹复制、删除、移动操作
java文件和文件夹复制.删除.移动操作 import java.io.File; import java.io.FileInputStream; import java.io.FileOutputS ...
- java操作文件的创建、删除、遍历
java操作文件的创建.删除.遍历: package test; import java.io.File; import java.io.IOException; import java.util.A ...
- C++ 文件的复制、删除、重命名
一.文件的复制 #include <iostream>#include <fstream>using namespace std; int CopyFile(char *Sou ...
- Linux文件的复制、删除和移动命令
cp命令 功能:将给出的文件或目录拷贝到另一文件或目录中,就如同DOS下的copy命令一样,功能非常强大. 语法:cp [选项] 源文件或目录 目标文件或目录 说明:该命令把指定的源文件复制到目 ...
- C#基础-文件夹复制与删除
代码来源:http://blog.163.com/u_tommy_520/blog/static/20406104420147493933662/ 最近做MVC网站时刚好用到,用以提供一个完整的文件夹 ...
- 16 IO操作文件读写
IO的分类 第一种分法: 1.输入流 2.输出流 第二种分法: 1.字节流 2.字符流 第三种分法: 1.节点流 2.处理流 I/O当中的核心类: InputStream <--------F ...
- C++操作文件行(读取,删除,修改指定行)
/******************************************************** Copyright (C), 2016-2018, FileName: main A ...
- HDFS操作--文件上传/创建/删除/查询文件信息
1.上传本地文件到HDFS //上传本地文件到HDFS public class CopyFile { public static void main(String[] args) { try { C ...
- shutil模块---文件,文件夹复制、删除、压缩等处理
shutil模块:高级的文件,文件夹,压缩包处理 拷贝内容 # shutil.copyfileobj(open('example.ini','r'),open('example.new','w')) ...
随机推荐
- PHP 图片 平均分割
$filename = 'D://WWW/1.jpg'; $p = 5; // Get new sizes list($width, $height) = getimagesize($filename ...
- HipHop的原理
HipHop的原理 HipHop将PHP代码转换为高度优化的C++代码,然后再用g++编译器编译.它可以保持语义等效地执行源代码,但为了提高性能,牺牲了一些很少用到的特性,比如eval(). HipH ...
- SharpGL学习笔记(十一) 光源创建的综合例子:光源参数可调节的测试场景
灯光的测试例子:光源参数可以调节的测试场景 先看一下测试场景和效果. 场景中可以切换视图, 以方便观察三维体和灯光的位置.环境光,漫射光,镜面反射光都可以在四种颜色间切换. 灯光位置和摄像机位置(Lo ...
- Elasticsearch学习之head插件安装
通过elasticseach自带的plugin命令 elasticsearch/bin/plugin -install mobz/elasticsearch-head 如下图: 2. zip包安装 ...
- matlab的m程序转执行文件exe
转换主要有两步: 第一步 设置编译器 在命令窗口输入 mbuild -setup 根据提示操作即可,.如下图我的设置 第二步 转换执行文件 命令行输入 mcc -m main 即可(输入 mcc ...
- HTML5 Canvas 画虚线组件
前段时间由于项目需要,用到了HTML5 Canvas画图,但是没有画虚线的方法,自己写了一个HTML5 画虚线的组件. dashedLine.js if (window.CanvasRendering ...
- android 设置系统屏幕亮度
/** * 获得当前屏幕亮度的模式 * SCREEN_BRIGHTNESS_MODE_AUTOMATIC=1 为自动调节屏幕亮度 * SCREEN_BRIGHTNESS_MODE_MANUAL=0 为 ...
- Unity3D之游戏架构脚本该如何来写
这篇文章主要想大家说明一下我在Unity3D游戏开发中是如何写游戏脚本的,对于Unity3D这套游戏引擎来说入门极快,可是要想做好却非常的难.这篇文章的目的是让哪些已经上手Unity3D游戏引擎的朋友 ...
- mui---子页面调用父页面的自定义方法
目前在开发APP的时候,有这样的一个需求:需要在登录页面返回后能够刷新父页面. 功能是这样的:在 A.html页面有头像和用户昵称,这些信息需要用户进行登录才能够拿到,登录页面是在B.html,点击A ...
- Maven 搭建 SSM框架——Spring+SpringMVC+Mybatis的搭建教程
一:概述 SSM框架在项目开发中经常使用到,相比于SSH框架,它在仅几年的开发中运用的更加广泛. Spring作为一个轻量级的框架,有很多的拓展功能,最主要的我们一般项目使用的就是IOC和AOP.Sp ...