平时作业五 Java
使用I/O流和文件对象实现目录备份功能。用户指定源目录、目标目录以及备份文件类型(如果是任意文件使用通配符*号),通过此程序可将源目录及其所有子目录下的指定类型文件保存到目标目录。
package com.tiger.practice;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class Homework5 { public static void main(String[] args) throws IOException
{
copyDir("D:\\10 cd onedrive\\OneDrive - mail.cdu.edu.cn\\2 大学文档\\02 secondary docu\\01 学科文档\\15 Java", "D:\\吴芝冰\\Desktop");
}
/**
* 使用递归复制目录,
*
* @param FromDir
* 源目录的路径名称
* @param ToDir
* 目的目录的路径名称
* @throws IOException
*/
public static void copyDir(String FromDir, String ToDir) throws IOException
{
// 创建目录的File对象
File srcDir = new File(FromDir);
// 判断源目录是不是一个目录
if (!srcDir.isDirectory())
{
// 如果不是目录那就不复制
return;
}
// 创建目的目录的File对象
File destDir = new File(ToDir);
// 如果目的目录不存在
if (!destDir.exists())
{
// 创建目的目录
destDir.mkdir();
} // 获取源目录下的File对象列表,每一个对象代表一个目录或者文件
File[] srcDirList = srcDir.listFiles();
// 遍历源目录File对象列表
for (int i = ; i < srcDirList.length; i++)
{
// 如果是目录的话
if (srcDirList[i].isDirectory()) {
// 递归调用复制该目录
copyDir(FromDir + File.separator + srcDirList[i].getName(),
ToDir + File.separator + srcDirList[i].getName());
}
// 如果是文件的话
if (srcDirList[i].isFile())
{
// 调用复制文件的方法
copyFile(FromDir + File.separator + srcDirList[i].getName(),
ToDir + File.separator + srcDirList[i].getName());
} }
}
/**
* 复制一个文件
*
* @param srcFile
* 源文件
* @param destFile
* 目的文件
* @throws IOException
*/
public static void copyFile(String srcFile, String destFile)
throws IOException
{
FileInputStream in = new FileInputStream(srcFile);
FileOutputStream out = new FileOutputStream(destFile);
// 2097152(Byte)=2048(KB)=2M
byte[] buffer = new byte[];
int size = ;
// 每次读取一个字节数组
while ((size = in.read(buffer)) != -)
{
// 读到多少写入多少
out.write(buffer, , size);
}
in.close();
out.close();
} }
平时作业五 Java的更多相关文章
- Java 平时作业五
使用 I/O 流和文件对象实现目录备份功能. package asg5; import java.io.File; import java.io.FileInputStream; import jav ...
- 平时作业七 Java
以下是几本计算机书籍的基本信息编号 书名 价格 出版社1 JAVA基础 32 清华大学出版社2 JAVA WEB开发 40 电子工业出版社3 面向对象程序设计 28 清华大学出版社4 Struts开发 ...
- 平时作业六 java
编写一个Java应用程序,使用Java的输入输出流技术将Input.txt的内容(Input.txt为文本文件)逐行读出,每读出一行就顺序为其添加行号(从1开始,逐行递增),并写入到另一个文本文件Ou ...
- 20145213《Java程序设计》实验五Java网络编程及安全
20145213<Java程序设计>实验五Java网络编程及安全 实验内容 1.掌握Socket程序的编写. 2.掌握密码技术的使用. 3.设计安全传输系统. 实验预期 1.客户端与服务器 ...
- 20145206《Java程序设计》实验五Java网络编程及安全
20145206<Java程序设计>实验五 Java网络编程及安全 实验内容 1.掌握Socket程序的编写: 2.掌握密码技术的使用: 3.设计安全传输系统. 实验步骤 我和201451 ...
- 20145337实验五Java网络编程及安全
20145337实验五Java网络编程及安全 实验内容 掌握Socket程序的编写 掌握密码技术的使用 设计安全传输系统 实验步骤 基于Java Socket实现安全传输 基于TCP实现客户端和服务器 ...
- JAVA课程实验报告 实验五 Java网络编程及安全
北京电子科技学院(BESTI) 实 验 报 告 课程:Java程序设计 班级:1353 姓名:韩玉琪 学号:20135317 成绩: 指导教师:娄嘉 ...
- 20145225《Java程序设计》 实验五 Java网络编程及安全
20145225<Java程序设计> 实验五 Java网络编程及安全 实验报告 一.实验内容 基于Java Socket实现安全传输. 基于TCP实现客户端和服务器,结对编程一人负责客户端 ...
- 20145208 实验五 Java网络编程
20145208 实验五 Java网络编程 实验内容 1.用书上的TCP代码,实现服务器与客户端. 2.客户端与服务器连接 3.客户端中输入明文,利用DES算法加密,DES的秘钥用RSA公钥密码中服务 ...
随机推荐
- 乙方渗透测试之Fuzz爆破
前言 爆破在渗透测试中,对技术的要求不高,但是对技巧和字典的要求就很高了,本篇整理下平时学到的一些爆破思路和技巧(偏web渗透登陆),当你无措可施时,暴力破解是最好的方式. 世界上最可怕的事情是你的习 ...
- #2 numpy pandas初步学习记录
对numpy中的array进行了了解,array方法的取值arr_2d[0:2, 0:2] pandas 1,read_CSV方法 2,head方法 3,loc方法,取值前开后开, 4,replace ...
- 关于JDK1.7+中HashMap对红黑树场景的思考
背景 在1.7之前的版本,当数组元素较多(几百.几千,或者更多)的时候,在这种前提扩容,涉及全量元素的遍历和坐标的重新定位,这个耗时会比较长.这是之前存在的一个弊端吧.那么引入红黑树之后就解决了问题, ...
- class和style属性
值类型: 1.表达式计算出的字符串结果或者字符串. 2.对象(表达式或者对象名,建议采用对象名) key为className,值的真假控制这个name的有无. //class <div v-bi ...
- 前端DES加密
/** * DES加密/解密 * @Copyright Copyright (c) 2018 * @author mrDu * @see DESCore */ /* * encrypt the str ...
- 论文阅读笔记(一)FCN
本文先对FCN的会议论文进行了粗略的翻译,使读者能够对论文的结构有个大概的了解(包括解决的问题是什么,提出了哪些方案,得到了什么结果).然后,给出了几篇博文的连接,对文中未铺开解释的或不易理解的内容作 ...
- Win10蓝屏的一些解决办法
请仔细回想这个错误是什么时候出现的: 第一次发生时你对系统做了哪些操作: 发生时正在进行什么操作: 从这些信息中找出可能的原因: 从而选择相应解决方案并尝试排除. 0x0000000A:IRQL_NO ...
- C++自己实现一个String类
C++自己实现一个String类(构造函数.拷贝构造函数.析构函数和字符串赋值函数) #include <iostream> #include <cstring> using ...
- Java 多线程 - 锁优化
http://www.cnblogs.com/pureEve/p/6421273.html https://www.cnblogs.com/mingyao123/p/7424911.html
- java基础知识三 流
Java 流(Stream).文件(File)和IOJava.io 包几乎包含了所有操作输入.输出需要的类.所有这些流类代表了输入源和输出目标. Java.io 包中的流支持很多种格式,比如:基本类型 ...