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

     

    逃避不一定躲得过,面对不一定最难过
  • 相关阅读:
    Delphi的字符(Char),字符串(String),字符串指针(PChar),字符数组arrayofchar(来自http://delphi.cjcsoft.net/论坛)
    关于Delphi中的字符串的浅析(瓢虫大作,里面有内存错误的举例)
    String[255]在高版本Delphi里还是被解释成Byte,总体长度256,使用StrPCopy可以给Array String拷贝字符串(内含许多实验测试)
    了解JVM加载实例化类的原理
    轻量级 Material Design 前端框架 MDUI (纯html,css,与css框架跟react vue不冲突)
    只学一点点:我的技术学习策略(虽然不赞同,但可以参考一下,针对不常用的技术可以这样,同时可以:寻找遁去的一,不用管别人怎么想;有学习的时间,不如自己写、自己实践,否则学完了都不知道是什么东西)
    clientdataset<---->json
    完全自定义窗体风格的实现
    监控其它进程
    用JSP+JavaBean开发模式实现一个销售额的查询
  • 原文地址:https://www.cnblogs.com/yangzhenlong/p/3656100.html
Copyright © 2011-2022 走看看