前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >教你IO流来便利电脑磁盘所有文件,把图片放到一个文件夹里(会发现什么不可告人的密码)

教你IO流来便利电脑磁盘所有文件,把图片放到一个文件夹里(会发现什么不可告人的密码)

作者头像
掉发的小王
发布2022-07-11 15:12:49
3490
发布2022-07-11 15:12:49
举报
文章被收录于专栏:小王知识分享小王知识分享

一、需求

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

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

代码语言:javascript
复制
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();
        }
    }
}

三、结果展示

在这里插入图片描述
在这里插入图片描述

四、总结

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

Q.E.D.

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-01-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、需求
  • 二、代码展示(运行时间可能有点长)
  • 三、结果展示
  • 四、总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档