• Java实现将指定目录内的指定类型的文件归类


    这两天在学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();
    		}
    	}
    
    }
    


  • 相关阅读:
    HTB-靶机-Lazy
    HTB-靶机-Brainfuck
    HTB-靶机-October
    java编程思想-java注解
    HMAC的JAVA实现和应用
    HMACSHA1算法的JAVA实现
    常见软件安全漏洞样例代码
    [移动应用安全]移动应用安全培训PPT
    [标准性文档]WEB应用安全验证标准
    [安全测试报告]针对某厂商的一次渗透性测试
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/5241188.html
Copyright © 2020-2023  润新知