博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java:IO/NIO篇,利用NIO遍历目录示范(示范:有选择地从光盘拷贝文件)
阅读量:6578 次
发布时间:2019-06-24

本文共 2407 字,大约阅读时间需要 8 分钟。

1. 问题

买了本《Android开发实战经典》书,附带光盘中有很多视频等内容,居然有两张DVD那么大,我想把光盘中的源代码部分拷贝到硬盘中,这样查看方便,但忽略某些文件(如:视频,过大的文件等)。

2. 解决

写了如下程序,功能就是将光盘目录完整拷贝到硬盘指定目录,但忽略某些文件(如:视频,过大的文件等)。

package com.clzhang.sample.nio;import java.io.*;import java.nio.file.*;import java.nio.file.attribute.*;/** * 将整个光盘的内容拷贝到硬盘指定目录中,忽略某些文件(视频、可执行文件等) *  * @author acer *  */public class CopyFilesFromCD {    private String srcDrive = "E:";    private String destDirRoot = "D:\\MyDocuments\\Study\\android\\";    public void process() throws Exception {        // 遍历CD目录下的所有文件和子目录        Files.walkFileTree(Paths.get(srcDrive), new SimpleFileVisitor
() { // 访问文件时候触发该方法 @Override public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException { String srcFile = file.toString().substring(2); // 忽略可执行文件、视频及特定的文件 if (srcFile.endsWith(".exe") || srcFile.endsWith(".wmv") || srcFile.contains("[讲师 MLDN李兴华]")) { System.out.println("忽略:" + file); } else { // 拷贝 System.out.println("正在拷贝:" + file); String destFile = destDirRoot + srcFile; // 是否需要程序手工关闭输出流? FileOutputStream fout = new FileOutputStream(destFile); Files.copy(file, fout); fout.close(); //Files.copy(file, new FileOutputStream(destFile)); } return FileVisitResult.CONTINUE; } // 开始访问目录时触发该方法 @Override public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) throws IOException { // 创建目标路径,存在与否不管 String srcDir = dir.toString().substring(2); String destDir = destDirRoot + srcDir; File file = new File(destDir); if (!file.exists()) { file.mkdirs(); } return FileVisitResult.CONTINUE; } }); System.out.println("拷贝结束!"); } /** * @param args */ public static void main(String[] args) throws Exception { // TODO Auto-generated method stub CopyFilesFromCD ins = new CopyFilesFromCD(); ins.process(); }}

 

转载地址:http://uiyno.baihongyu.com/

你可能感兴趣的文章
Android 自定义GridView网格布局
查看>>
我的友情链接
查看>>
ThreadLocal分析
查看>>
mysql优化:连接数
查看>>
PHP 时间操作 / 跳转问题
查看>>
Windows 2012 R2 FSMO角色相关小记录
查看>>
(小蚂蚁站长吧)网站优化做好这八步你就是seo第一
查看>>
使用流的方式往页面前台输出图片
查看>>
java核心技术反射
查看>>
LAMP,安装脚本
查看>>
电脑上怎样压缩图片大小
查看>>
lnmp安装
查看>>
FTP工作方式
查看>>
Ubuntu16.04 ssh安及root登录
查看>>
C语言dos程序源代码分享(进制转换器)
查看>>
php项目中常用的log日志记录方法
查看>>
LogParser 导入MSSQL
查看>>
linux安装go环境并编写第一个go程序
查看>>
【在线研讨-现场文字】《敏捷开发用户故事分类与组织结构(二期-3)》2012-07-03...
查看>>
易语言 --什么情况下 用许可证
查看>>