教你IO流来便利电脑磁盘所有文件,把图片放到一个文件夹里

简介: 教你IO流来便利电脑磁盘所有文件,把图片放到一个文件夹里

教你IO流来便利电脑磁盘所有文件,把图片放到一个文件夹里


一、需求

我要把C盘下面的所有图片都拿出来,放到一个新文件夹中.今天小编一身正气,看看有没有什么意外发现!!学会看看自己的盘,悄悄的哦!!!

二、代码展示(运行时间可能有点长)

import java.io.*;
public class ArrangementJPG {
    //控制图片名字的位数
    static int id;
    public static void main(String[] args){
        //目标文件
        File target = new File("e:\\foto");
        target.mkdirs();
        //便利源文件
        File dir = new File("c:\\");
        kill(dir);
    }
    //便利c盘下的所有文件夹及文件  ---找到.jpg结尾图片
    public static void kill(File tar){
        File[] ds = tar.listFiles((x) -> x.isDirectory());
        File[] js = tar.listFiles((x) -> x.isFile() && x.getName().toLowerCase().endsWith(".jpg"));
        if(ds == null) return;
        for(File d : ds){
            kill(d);
        }
        for(File j : js){
            File x = new File("e:\\foto",nextName());
            copy(j,x);
        }
    }
    //获得下一个文件名
    private static String nextName(){
        String name = String.valueOf(++id);
        while(name.length() < 5){
            name = "0" + name;
        }
        name += ".jpg";
        return name;
    }
    //复制一个文件的
    private static void copy(File src,File tar){
        try(FileInputStream fis = new FileInputStream(src);FileOutputStream fos = new FileOutputStream(tar)){
            byte[] data = new byte[65536];
            int len;
            while((len = fis.read(data))!=-1){
                fos.write(data,0,len);
            }
        }catch(Exception e){
            e.printStackTrace();
        }
    }
}

三、结果展示

四、总结

看来小编里面没有什么意外发现,不知道你们的呢!!小编刚刚装的系统,就有接近两千张,对你有用,赶紧点赞关注哦!!

相关文章
IO流篇 -- 基于io流实现文件夹拷贝(拷贝子文件夹及子文件夹内文件)满满的干货
IO流篇 -- 基于io流实现文件夹拷贝(拷贝子文件夹及子文件夹内文件)满满的干货
171 0
IO流篇 -- 基于io流实现文件夹拷贝(拷贝子文件夹及子文件夹内文件)满满的干货
|
7月前
|
Windows
【编程笔记】解决移动硬盘无法访问文件或目录损坏且无法读取
【编程笔记】解决移动硬盘无法访问文件或目录损坏且无法读取
70 0
|
Android开发 数据格式 XML
03_Android项目中读写文本文件的代码
编写一下Android界面的项目 使用默认的Android清单文件 &lt;?xml version="1.0" encoding="utf-8"?&gt; &lt;manifest xmlns:android="http://schemas.android.com/apk/res/android"     package="com.itheima28.writ
1409 0
|
关系型数据库 RDS
【技术贴】删除空白文件夹,提示无法读源文件或磁盘的解决方法
DEL /F /A /Q \\?\%1 RD /S /Q \\?\%1 使用方法:  新建文本文档,将上面代码复制其中,保存为1.bat。不用打开此bat文件,只需要 将不能删除的文件和文件夹拖入此1.bat文件就可以删除了! 【技术贴】删除空白文件夹,提示无法读源文件或磁盘的解决方法 转自百度知道。
885 0
经验分享:u盘文件或者目录损坏无法读取、无法正常打开,如何解决?
u盘突然无法正常打开,显示目录损坏。。。 找寻了网上众多方法。以下是解决方案 win+R 打开后输入cmd之后输入:chkdsk +你要修复的u盘+/F
经验分享:u盘文件或者目录损坏无法读取、无法正常打开,如何解决?
|
10月前
|
NoSQL Java Linux
Linux常用命令(文件目录操作、拷贝移动、打包压缩、文本编辑、查找)
Linux常用命令(文件目录操作、拷贝移动、打包压缩、文本编辑、查找)
|
缓存 Windows
文件夹显示文件或目录损坏且没法读取
 用户反馈说Win7打开Local Settings文件夹提示“位置不可用,拒绝访问"怎么办?Local Settings是Windows系统中的一个隐藏文件,一般存放着和上网有关的历史记录和缓存之类的文件,如果打开Local Settings文件时提示"位置不可用,拒绝访问"下面跟随小编脚步一起看看具体解决方法。
670 0
|
Windows
如何用代码定位硬盘上的文件
问题:如何用代码控制资源浏览器,并定位到指定的文件?   答:使用ShellExecute,配合explorer即可 ShellExecute(Application.
990 0
成功解决WIN系统如何更改默认放在C盘的【我的文档】/【图片】位置的存储路径(修改到其它非系统的盘符)
成功解决WIN系统如何更改默认放在C盘的【我的文档】/【图片】位置的存储路径(修改到其它非系统的盘符)
成功解决WIN系统如何更改默认放在C盘的【我的文档】/【图片】位置的存储路径(修改到其它非系统的盘符)