zoukankan      html  css  js  c++  java
  • Java一个简单的文件工具集

      1 class FileUtils
      2 {
      3     //文件目录下文件总数目
      4     public static int fileNumber(File dir)
      5     {
      6         int filenumber = 0;
      7         if(dir.exists())
      8         {
      9             for(File file:dir.listFiles())
     10             {
     11                 if(file.isDirectory())
     12                 {
     13                     filenumber = filenumber+fileNumber(file);
     14                 }
     15                 else
     16                 {
     17                     filenumber++;
     18                 }
     19             }
     20         }
     21         return filenumber;
     22     }
     23     
     24     //判断文件是否为图片
     25     public static boolean isImage(File imgFilePath)
     26     {
     27         try
     28         {
     29             FileInputStream imgfis = new FileInputStream(imgFilePath);
     30             byte []imgbyte = new byte[imgfis.available()];
     31             if((imgfis.read(imgbyte))!=-1)
     32             {
     33                 if(imgbyte[0] == (byte) 'G' && imgbyte[1] == (byte) 'I' && imgbyte[2] == (byte) 'F')
     34                 {
     35                     return true;
     36                 }
     37                 else if(imgbyte[1] == (byte) 'P' && imgbyte[2] == (byte) 'N' && imgbyte[3] == (byte) 'G')
     38                 {
     39                     return true;
     40                 }
     41                 else if(imgbyte[6] == (byte) 'J' && imgbyte[7] == (byte) 'F' && imgbyte[8] == (byte) 'I'&& imgbyte[9] == (byte) 'F')
     42                 {
     43                     return true;
     44                 }
     45                 else
     46                 {
     47                     return false;
     48                 }
     49             }
     50         }catch(Exception e)
     51         {
     52             System.out.println(e.toString());
     53             return false;
     54         }
     55         return false;
     56     }
     57 
     58 
     59     //返回该目录下所有文件的文件数组
     60     public static File[] listAllDirectory(File dir)
     61     {
     62         if(dir!=null&&dir.exists())
     63         {
     64             File []finalfile = new File[fileNumber(dir)];
     65             int markfile =0;
     66             int fileln=0;
     67             File files[] = dir.listFiles();
     68             for(int i=0;i<files.length;i++)
     69             {
     70                 if(files[i].isDirectory())
     71                 {
     72                     listAllDirectory(files[i]);
     73                 }
     74                 else
     75                 {
     76                     finalfile[markfile++]=files[i];
     77                 }
     78             }
     79             return finalfile;
     80         }
     81         else
     82         {
     83             return null;
     84         }
     85     }
     86 
     87     
     88     //复制文件(用文件通道)
     89     public static void copyFile(File oldFileAbsolutePath,File newFilePath)
     90     {
     91         File newFileAbsolutePath = new File(newFilePath,oldFileAbsolutePath.getName());
     92         FileInputStream fi = null;
     93         FileOutputStream fo = null;
     94         FileChannel in = null;
     95         FileChannel out = null;
     96         try {
     97             fi = new FileInputStream(oldFileAbsolutePath);
     98             fo = new FileOutputStream(newFileAbsolutePath);
     99             in = fi.getChannel();
    100             out = fo.getChannel();
    101             in.transferTo(0, in.size(), out);
    102         } catch (IOException e)
    103             {
    104                 e.printStackTrace();
    105             }
    106             finally
    107                 {
    108                     try
    109                         {
    110                             fi.close();
    111                             in.close();
    112                             fo.close();
    113                             out.close();
    114                         } catch (IOException e)
    115                             {
    116                                 e.printStackTrace();
    117                             }
    118                 }
    119     }
    120 }
  • 相关阅读:
    图片灰度化,并且resize图片
    C语言学习笔记
    路飞学城14天集训营作业2—三级菜单
    路飞学城14天集训营作业4—员工信息表
    路飞学城14天集训营作业3—购物车
    路飞学城14天集训营作业1—登陆认证
    js钩子函数
    APP2.0后台控件API
    KindEditor 插件API使用说明
    TreeView插件 API
  • 原文地址:https://www.cnblogs.com/laudoak/p/4276830.html
Copyright © 2011-2022 走看看