zoukankan      html  css  js  c++  java
  • Java——FIle:

    1.读取文件夹中的文件

    /**
         * 读取图片文件
         * @param imgPath 文件所在的文件夹绝对路径
         * @return
         * @throws FileNotFoundException
         */
        public static List<String> readImg(String imgPath)throws FileNotFoundException{
            System.out.println("----------------------------读取start--------------------------");
            List<String> abPathList = new ArrayList<String>();//建立绝对路径集合
            List<String> nameList = new ArrayList<String>();//建立相对路径集合
            try {
                File file = new File(imgPath);
                //判断不是目录
                if (!file.isDirectory()) {
                        System.out.println("文件");
                        System.out.println("path=" + file.getPath());
                        System.out.println("absolutepath=" + file.getAbsolutePath());
                        System.out.println("name=" + file.getName());
                }
                 //判断是目录
                 else if (file.isDirectory()) {
                        System.out.println("文件夹");
                        String[] filelist = file.list();
                        for (int i = 0; i < filelist.length; i++) {
                                File readfile = new File(imgPath + "\" + filelist[i]);
                                if (!readfile.isDirectory()) {
                                        System.out.println("path=" + readfile.getPath());
                                        System.out.println("parent=" + readfile.getParent());
                                        System.out.println("绝对路径=" + readfile.getAbsolutePath());
                                        System.out.println("名称List:"+ readfile.getName());
                         abPathList.add(readfile.getAbsolutePath());//存储绝对路径
                                        nameList.add(readfile.getName());//存储名称
                                } else if (readfile.isDirectory()) {
                                        readImg(imgPath + "\" + filelist[i]);
                                }
                        }
                }
        } catch (FileNotFoundException e) {
                System.out.println("readfile() Exception:" + e.getMessage());
        }
            System.out.println("----------------------------读取end--------------------------");
            return nameList;
        }
            

    2.复制文件夹及内容到另一个文件夹

    /** 
         * 复制整个文件夹内容 
         * @param oldPath String 原文件路径 如:F:/taobaoCsv/all
         * @param newPath String 复制后路径 如: F:/taobaoCsv/allnew
         * @return boolean 
         */ 
       public static void copyFolder(String oldPath, String newPath) { 
           System.out.println("----------------------------复制start--------------------------");
           System.out.println("正在复制...");
           try { 
               (new File(newPath)).mkdirs(); //如果文件夹不存在 则建立新文件夹 
               File a=new File(oldPath); 
               String[] file=a.list(); 
               File temp=null; 
               for (int i = 0; i < file.length; i++) { 
                   if(oldPath.endsWith(File.separator)){ 
                       temp=new File(oldPath+file[i]); 
                   } 
                   else{ 
                       temp=new File(oldPath+File.separator+file[i]); 
                   } 
                   if(temp.isFile()){ 
                       FileInputStream input = new FileInputStream(temp); 
                       FileOutputStream output = new FileOutputStream(newPath + "/" + 
                               (temp.getName()).toString()); 
                       byte[] b = new byte[1024 * 5]; 
                       int len; 
                       while ( (len = input.read(b)) != -1) { 
                           output.write(b, 0, len); 
                       } 
                       output.flush(); 
                       output.close(); 
                       input.close(); 
                   } 
                   if(temp.isDirectory()){//如果是子文件夹 
                       copyFolder(oldPath+"/"+file[i],newPath+"/"+file[i]); 
                       System.out.println("子文件夹...");
                   } 
               } 
               System.out.println("复制成功。");
               System.out.println("----------------------------复制end--------------------------");
           } 
           catch (Exception e) { 
               System.out.println("复制整个文件夹内容操作出错"); 
               e.printStackTrace(); 
           } 
       }

    3.批量修改文件名

    /**
        * //批量修改文件名(文件名后面+‘ .jpg’)
        * @param folderPath 文件夹路径
        */
       public static void editName(String folderPath){
         //判断不是文件夹...提示错误
           System.out.println("----------------------------修改start--------------------------");
         //获取文件夹中的所有文件
         File folder = new File(folderPath);
         File[] fileList = folder.listFiles();
         //批量修改
         for (int i = 0; i < fileList.length; i++) {
             File oldFile = fileList[i];
             System.out.println("修改前文件名称是:"+oldFile.getName());
             
             //修改文件名称:rootPath/filename .jpg
             File newFile = new File(oldFile.getParent()+File.separator+oldFile.getName()+" .jpg");
             
             System.out.println("修改后文件名称是:"+newFile.getName());
             
             if (oldFile.renameTo(newFile)){
                  System.out.println("修改成功!");
              }else{
                  System.out.println("修改失败");
              }
         }
         System.out.println("----------------------------修改end--------------------------");
       }

    4.删除

      1).删除文件夹

      2).删除文件夹的内容,但不删除文件夹

    /**
     * 删除文件夹
     * @param folderPath 文件夹完整绝对路径
     */
    public static void delFolder(String folderPath) {
       try {
        delAllFile(folderPath); // 删除完里面所有内容
        String filePath = folderPath;
        filePath = filePath.toString();
        java.io.File myFilePath = new java.io.File(filePath);
        myFilePath.delete(); // 删除空文件夹
       } catch (Exception e) {
        e.printStackTrace();
       }
    }
    
    /**
     * 删除指定文件夹下所有文件
     * @param path 文件夹完整绝对路径
     * @return
     */
    public static boolean delAllFile(String path) {
       boolean flag = false;
       File file = new File(path);
       if (!file.exists()) {
        return flag;
       }
       if (!file.isDirectory()) {
        return flag;
       }
       String[] tempList = file.list();
       File temp = null;
       for (int i = 0; i < tempList.length; i++) {
        if (path.endsWith(File.separator)) {
         temp = new File(path + tempList[i]);
        } else {
         temp = new File(path + File.separator + tempList[i]);
        }
        if (temp.isFile()) {
         temp.delete();
        }
        if (temp.isDirectory()) {
         delAllFile(path + "/" + tempList[i]);// 先删除文件夹里面的文件
         delFolder(path + "/" + tempList[i]);// 再删除空文件夹
         flag = true;
        }
       }
       return flag;
    }

     

    逃避不一定躲得过,面对不一定最难过
  • 相关阅读:
    解释 ASP.NET中的Web页面与其隐藏类之间的关系
    B/S与C/S的联系与区别
    三层架构
    列举 ASP.NET页面之间传递值的几种方式
    什么是SQL注入式攻击?如何防范?
    post、get的区别
    Session,ViewState,Application,cookie的区别?
    Vue 09.前后端交互
    Vue 08.webpack中使用.vue组件
    Vue 07.webpack
  • 原文地址:https://www.cnblogs.com/yangzhenlong/p/3656100.html
Copyright © 2011-2022 走看看