2021-10-28

/ 获取 上传资料路径(后面简称:数据源),和上传文件的文件夹地址 (简称:仓库)
//根据仓库地址,创建file对象,并判断是否存在
//不存在进行创建仓库
//存在不需要任何处理
//根据数据源地址,创建file对象,并判断是否存在
//不存在,直接结束
//存在继续往下执行
//新路径=仓库地址+文件名称
//创建输入流(数据源的file对象),输出流(根据新路径建立的file对象)
//进行具体的上传操作
//关闭资源

package com.entity;

import org.junit.Test;

import java.io.*;


public class Main {
    public static void main(String[] args) throws Exception {
        upload("E:\\作业\\素材"," ");
    }
    @Test
    public static void upload(String url1,String type) throws Exception {
        File file1=new File(url1);
        //判断是否存在
        if(file1.exists()){
            File[] files= file1.listFiles();//获取file文件数组
            //如果该目录不为空
            if(files!=null){
                for (int i = 0; i < files.length; i++) {
                    File file2= files[i];
                    if(file2.isFile()){
                        if(file2.getName().endsWith(".jpg")){
                            System.out.println("文件:"+file2.getAbsolutePath());
                            String url=file2.getAbsolutePath(),path="E:\\作业\\练习";
                            //创建file对象,并判断是否是否存在
                            File file= new File(path);
                            if (!file.exists()){
                                file.mkdirs();
                            }
                            File newFile= new File(url);
                            if (newFile.exists()){
                                String filename=path+File.separator+System.currentTimeMillis()+newFile.getName().substring(newFile.getName().lastIndexOf("."),newFile.getName().length());
                                System.out.println(filename);
                                InputStream in = new FileInputStream(newFile);
                                OutputStream out = new FileOutputStream(filename);
                                //进行上传操作
                                byte []b= new byte[1024];
                                Integer n=0;
                                while ((n=in.read(b))!=-1) {
                                    out.write(b,0,n);

                                }
                                in.close();
                                out.close();
                            }else{
                                //不存在,直接结束
                                return;
                            }
                        }else {
                            System.out.println("文件夹:"+file2.getAbsolutePath());
                            upload(file2.getAbsolutePath(),type);

                        }
                    }
                }
            }
        }
    }
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值