这两天在学Java IO流,正好让我产生了将自己的电子书归类的打算,说做就做,Why not?看着自己所学所用能解决生活中的实际问题,是不是非常有成就感,那是必须的!

package DepthSearch;

import java.util.*;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FilenameFilter;
import java.io.IOException; public class DepthTraverse { public static void main(String[] args) {
// TODO Auto-generated method stub
File dirFile=new File("G:/eBook/");
FilenameFilter filter=new FilenameFilter() { @Override
public boolean accept(File dir, String name) {
// TODO Auto-generated method stub
return name.endsWith(".mobi");
}
};
List<File>list=new ArrayList<File>();
try {
getFile(dirFile, filter, list);//查找符合条件的文件
WriteToFile(list);//将查找到的指定格式的文件放入指定的文件夹中
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} }
public static void getFile(File dir,FilenameFilter filter,List<File>list)throws IOException
{
File[]files=dir.listFiles();
for(File file:files)
{
if(file.isDirectory())//是文件夹则递归查询
getFile(file, filter, list);
else {
if(filter.accept(dir, file.getName()))//是文件则将文件放入list列表中
list.add(file);
} }
}
public static void WriteToFile(List<File>list) throws IOException
{
String dirString="G:/eBooks/mobi";//将查找到的.mobi格式文件存放于此
FileInputStream fis=null;
FileOutputStream fos=null;
int num=0;
byte[]bt=new byte[1024];
try {
for(File file:list)
{
fis=new FileInputStream(file);//读文件
fos=new FileOutputStream(new File(dirString,file.getName()));//写文件
System.out.println(file.getAbsolutePath());
while((num=fis.read(bt))!=-1)
{
fos.write(bt, 0, num);
fos.flush();
}
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}finally
{
fis.close();
fos.close();
}
} }

Java实现将指定目录内的指定类型的文件归类的更多相关文章

  1. Window Linux下实现指定目录内文件变更的监控方法

    转自:http://qbaok.blog.163.com/blog/static/10129265201112302014782/ 对于监控指定目录内文件变更,window 系统提供了两个未公开API ...

  2. java基础知识回顾之javaIO类--File类应用:获取指定目录下面的指定扩展名的文件,将文件的绝对路径写入到目的文件当中

    /** * File文件综合应用 * 需求:获取指定目录下面,指定扩展名的文件,将文件的绝对路径写到文本文件当中. *  * 思路:1.需要深度遍历.--递归 * 2.遍历的过程中过滤指定扩展名的文件 ...

  3. 2.获取指定目录及子目录下所有txt文件的个数,并将这些txt文件复制到F盘下任意目录

    package cn.it.text; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import ...

  4. 【C#】递归搜索指定目录下的指定项目(文件或目录)

    ---------------更新:201411201121--------------- 主要更新说明:将原bool recurse参数改为int depth,这样可以指定递归深度,而不是笼统的是否 ...

  5. Jenkins拉取Git远程仓库中指定目录至本地指定目录

    Jenkins拉取源码是非常实用的操作,比如每天在跑自动化测试前,拉取Git远程仓库中最新的脚本至本地.那么,Jenkins如何拉取Git远程仓库中指定目录至本地指定目录呢?下面来看看具体的设置方法. ...

  6. 使用WatchService监控指定目录内的文件的改动

    package coin; import java.io.IOException; import java.nio.file.FileSystems; import java.nio.file.Pat ...

  7. Java之递归遍历目录,修改指定文件的指定内容

    EditProperties.java package PropertiesOperation.Edit; import java.io.File; /** * 替换指定Porpoerties文件中的 ...

  8. JAVA输出指定目录下的子目录和子文件

    题目:给定一个目录,要求输出这个目录下面的子目录和子文件 逻辑: 先判断给定的是不是一个合法的目录,如果不是,则提示给定错误 如果是目录,那么使用File.listFile()获得这个目录下文件名的数 ...

  9. C++查找指定目录下所以指定类型的文件

    /*************************************************************** 函数名称:FindFile 查找指定目录下指定文件 输入:fileNa ...

随机推荐

  1. asp.net的3个经典范例(ASP.NET Starter Kit ,Duwamish,NET Pet Shop)学习资料

    asp.net的3个经典范例(ASP.NET Starter Kit ,Duwamish,NET Pet Shop)学习资料 NET Pet Shop .NET Pet Shop是一个电子商务的实例, ...

  2. Java ----------- SQL语句总结(更新中。。。。。。)

    #对数据库的操作 *创建数据库 CREATE DATABASE database_name:database_name为创建的数据库的变量名称. #对表的操作

  3. AngularJs练习Demo5

    @{ Layout = null; } <!DOCTYPE html> <html> <head> <meta name="viewport&quo ...

  4. silverlight+wcf 获得web参数

    可以由wcf直接得到参数 ,具体代码如下: using System;using System.Linq;using System.Runtime.Serialization;using System ...

  5. silverlight+wcf 项目 silverlight获得web程序的参数

    silverlight 可以通过属性InitParams 获得参数,如果参数是动态的需要web程序传递的,具体操作如下: web程序后台:AppID,USERID需要的参数 this.frmRepor ...

  6. 本地开发时同时启动多个tomcat服务器

    1.环境变量中不要设置CATALINA_HOME: 2.分别修改安装目录下的conf子目录中的server.xml文件: a.修改http访问端口(默认为 8080端口),将8080修改为tomcat ...

  7. 0130——UIScrollView

    1.contentSize幕布实际大小决定滚动的方向,如果小于图片本身不滚动,默认也是不滚动 view.contentSize = CGSizeMake(1280, 200); 而frame只是用来显 ...

  8. UI基础视图----UIScrollView总结

    UIScrollView是UIKit框架下的很重要的视图类,是UIView的子类.UILabel,UIImageView,UIWebView分别用于展示文字,图片,网页,UILabel通过属性text ...

  9. Jquery对回复者添加匿名评论选项

    通过prop方法获取checked属性,获取的checked返回值为boolean,选中为true,否则为flase <input type="checkbox" id=&q ...

  10. Truncate Table user

    Truncate Table   百科名片 Truncate是一个能够快速清空资料表内所有资料的SQL语法.并且能针对具有自动递增值的字段,做计数重置归零重新计算的作用. 目录 语法 参数 注释 示例 ...