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);

                        }
                    }
                }
            }
        }
    }
}

上一篇:常用的 21 条 Linux 命令,生产力必备


下一篇:五.文件的读写+字典