Java文件操作工具类

在工作中,对于文件的操作是必不可少的。在大多数的项目中都会遇到,如果每次进行对文件的操作都要去写一遍相关的代码,那会浪费很多时间。因此我把经常用到的操作抽取出来封装为一个工具类,用的时候调用就行了。
工具类代码如下:

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

/**
* 文件操作工具类
*/
public class FileUtils {

    /**
    *    获取文件扩展名
    * @param filename
    * @return
    */
    public static String getExtend(String filename) {
        if ((filename != null) && (filename.length() > 0)) {
            int i = filename.lastIndexOf('.');

            if ((i > 0) && (i < (filename.length() - 1))) {
                return (filename.substring(i+1)).toLowerCase();
            }
        }
        return "";
    }

    /**
    * 文件复制
    * @param inputFile 被复制文件
    * @param outputFile 复制后的文件
    * @throws FileNotFoundException
    */
    public static void copyFile(String inputFile,String outputFile) throws FileNotFoundException{
        File sFile = new File(inputFile);
        if (!sFile.exists() || !sFile.isFile()) {
            System.out.println("错误: " + inputFile + "不存在!");
            return ;
        }
        File tFile = new File(outputFile);
        FileInputStream fis = new FileInputStream(sFile);
        FileOutputStream fos = new FileOutputStream(tFile);
        int temp = 0;  
        byte[] buf = new byte[10240];
        try {  
            while((temp = fis.read(buf))!=-1){   
                fos.write(buf, 0, temp);   
            }  
            System.out.println("--------成功复制文件---------"+inputFile);
        } catch (IOException e) { 
            System.out.println("文件流复制失败!");
            e.printStackTrace();  
        } finally{
            try {
                fis.close();
                fos.close();
            } catch (IOException e) {
                System.out.println("文件流关闭失败!");
                e.printStackTrace();
            }
        } 
    }
    /**
    * 判断文件是否为图片
    * @param filename 
    * @return true 是,false 否
    */
    public static boolean isPicture(String filename) {
        // 文件名称为空的场合
        if (isEmpty(filename)) {
            // 返回不和合法
            return false;
        }
        // 获得文件后缀名
        String tmpName = getExtend(filename);
        // 声明图片后缀名数组
        String imgeArray[][] = { { "bmp", "0" }, { "dib", "1" },
                { "gif", "2" }, { "jfif", "3" }, { "jpe", "4" },
                { "jpeg", "5" }, { "jpg", "6" }, { "png", "7" },
                { "tif", "8" }, { "tiff", "9" }, { "ico", "10" } };
        // 遍历名称数组
        for (int i = 0; i < imgeArray.length; i++) {
            // 判断单个类型文件的场合
            if (imgeArray[i][0].equals(tmpName.toLowerCase())) {
                return true;
            }
        }
        return false;
    }

    
    /**
    *   删除绝对路径下的文件
    * @param strFileName
    * @return 如果删除成功true否则false
    */
    public static boolean delete(String strFileName) {
        File fileDelete = new File(strFileName);
        if (!fileDelete.exists() || !fileDelete.isFile()) {
            System.out.println("错误: " + strFileName + "不存在!");
            return false;
        }
        System.out.println("--------成功删除文件---------"+strFileName);
        return fileDelete.delete();
    }
    
    /**
    * 判断字符是否为空值
    * @param object
    * @return
    */
    public static boolean isEmpty(Object object) {
        if (object == null) {
            return (true);
        }
        if (object.equals("")) {
            return (true);
        }
        if (object.equals("null")) {
            return (true);
        }
        return (false);
    }

    
    //测试方法
    public static void main(String[] args) throws FileNotFoundException {
        //获取文件扩展名
        //String extend = FileUtils.getExtend("E:\\test.jpg");
        //System.out.println(extend);
        //复制文件
        //FileUtils.copyFile("E:\\test.txt", "D:\\test.txt");
        //判断文件是否为图片
        //boolean isPicture = FileUtils.isPicture("E:\\test.jpg");
        //System.out.println(isPicture);
        boolean isDelete = FileUtils.delete("D:\\test.ftl");
        System.out.println(isDelete);
    }
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容