图片的合成(个人练习,不喜勿喷!)

3 篇文章 0 订阅
import com.sun.scenario.effect.impl.sw.sse.SSEBlend_SRC_OUTPeer;

import java.io.*;

public class CombineImages {
    static String path = "C:\\六张图片.dat";
    public static void main(String[] args) throws IOException {
        /*
        1.遍历找到六张图片,把所有图片放到一个.dat文件中(创建文件)
        2.把名字写入六张图片.dat中:fw.write()、fw.close()
         */
        //遍历指定文件,找到所有的图片
        File file = new File("C:\\文件夹");
        CreatFindImages(file);
        /*
        读取六张图片.dat文件
        FileReader:
        (1)读取的是文件
        (2)读取的是字节文件(图片、视频等是字节文件)
        (3)将字节文件转换为字符文件
         */
        //读取数据字节,字节流:即二进制数据
        FileInputStream fr = new FileInputStream(path);
        //字符缓冲流,需将字节流转换为字符流
        BufferedReader br = new BufferedReader(new InputStreamReader(fr));
        String jpegName = "";
        FileOutputStream fos = new FileOutputStream("C:\\合并.jpeg");
        while ((jpegName = br.readLine()) != null){
            FileInputStream fis = new FileInputStream(jpegName);
            int a = 0;
            byte buff[] = new byte[1024];
            while ((a = fis.read(buff)) != -1){//没到末尾
                fos.write(buff,0,a);
            }
            fis.close();
        }
        fos.close();

    }
    //递归遍历指定文件,找到所有的.jpg文件,并生成一个.dat文件夹
    public static void CreatFindImages(File file) throws IOException {
        /*
        FileWriter的用法就三个字:创,写,关
        创:new一个
        写:利用writer()方法
        关:利用close()方法
         */
        //在C盘建立一个叫六张图片.dat的文件
        FileWriter fw = new FileWriter(path);
        //得到当前目录(文件夹)所有的文件的名字
        File files[] = file.listFiles();
        for(int i=0;i <files.length; i ++){
            if(files[i].isFile()) { //如果是文件
                if (files[i].getName().endsWith(".jpeg")) {
                    System.out.println("jpeg文件:" + files[i].getName());
                    String jpegFileName = files[i].getAbsolutePath();//得到jpeg文件的绝对路径
                    fw.write(jpegFileName);
                    fw.write("\r");
                    fw.write("\n");
                }
            }else{ //子目录
                CreatFindImages(files[i]);
            }
        }
        fw.close();//一定要记得关文件,不然文件依然是空文档
    }
}

jpeg文件:1.jpeg
jpeg文件:3.jpeg
jpeg文件:4.jpeg
jpeg文件:路飞.jpeg
jpeg文件:鹰眼.jpeg
jpeg文件:路飞.jpeg

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值