测试 File and LinkedHashMap 示例

来源:互联网 发布:网络维护费用清单 编辑:程序博客网 时间:2024/06/05 21:15
  1. 具体示例代码如下:
package se;import java.io.File;import java.io.FileFilter;import java.io.FileInputStream;import java.io.IOException;import java.util.Arrays;import java.util.HashMap;import java.util.LinkedHashMap;import org.junit.Test;public class FileAndLinkedHashMap {    /**     * LinkedHashMap 指有序的 HashMap,有序指的是:存放元素的顺序     */    @Test    public void testLinkedHashMap(){        HashMap<String, Object> linkedHashMap = new LinkedHashMap<String, Object>();        linkedHashMap.put(null, null);        System.out.println(linkedHashMap.get("null"));    }    /**     * File 表示文件 或者 目录     * 层级分隔符不要直接使用 斜杠(/),而是使用 File.separator 常量     * file.isFile(): 判断是否为 文件     * file.length(): 表示文件占用的 字节量     * file.exists(): 文件或者目录是否存在     * file.createNewFile(): 创建一个新的、空的文件     * file.delete(): 删除文件 或者 目录, 如果删除的是 目录,那么该目录必须为空目录,才可以删除     * file.isDirectory(): 判断是否为目录     * file.mkdir(): 创建当前目录     * file.mkdirs(): 创建当前目录以及不存在的父目录     * file.list(): 返回 目录中 所有的文件名和目录名组成的数组     * file.listFiles(): 返回 目录中 路径名 指代的文件和目录 组成的数组     * file.fileFilter(): 对文件的路径名 进行过滤     */    @Test    public void testFile() throws Exception{        File file = new File("G:" + File.separator + "siteAccount.txt");        FileInputStream fis = new FileInputStream(file);        byte[] byteArr = new byte[(int) file.length()];        fis.read(byteArr);        fis.close();        System.out.println(new String(byteArr, "gbk"));        System.out.println("is File:" + file.isFile());        System.out.println("file length:" + file.length());        System.out.println("file exists:" + file.exists());        File file2 = new File("G:" + File.separator + "siteAccount2.txt");        System.out.println("file createNewFile:" + file2.createNewFile());        System.out.println("file delete:" + file2.delete());        System.out.println("file isDirectory:" + file.isDirectory());        File file3 = new File("G:" + File.separator + "siteAccount3" + File.separator + "siteAccount4");        System.out.println("file mkdir:" + file3.mkdir());        System.out.println("file mkdir:" + file3.mkdirs());    }    @Test    public void testFileListMethodAndListfilesMethod() throws IOException{        /*File file = new File("G:" + File.separator + "siteAccount3" + File.separator + "siteAccount4");        System.out.println("file mkdirs: " + file.mkdirs());        File file2 = new File("G:" + File.separator + "siteAccount3" + File.separator + "file1.txt");        if(!file2.exists()){            file2.createNewFile();        }*/        File file = new File("G:" + File.separator + "siteAccount3");        File[] listFilterFiles = file.listFiles(new FileFilter(){            @Override            public boolean accept(File pathname) {                String fileName = pathname.getName();                if(fileName.endsWith("2.txt")){                    return true;                }else{                    return false;                }            }});        System.out.println("file filter: " + Arrays.toString(listFilterFiles));        System.out.println("file list: " + Arrays.toString(file.list()));        System.out.println("file listFiles: " + Arrays.toString(file.listFiles()));        /*         * file filter: [G:\siteAccount3\file2.txt]         * file list: [file1.txt, siteAccount4]         * file listFiles: [G:\siteAccount3\file1.txt, G:\siteAccount3\siteAccount4]         */    }    /**     * 删除目录里 所有文件和目录 以及最外层目录本身     * 思路:     *  1.先删除目录里 所有文件,     *  2.再删除 空目录     *  3.目录里包含目录,使用 递归     */    public void deleteDirectory(String path){        File file = new File(path);        if(file.isDirectory()){            String[] list = file.list();            if(list.length > 0){                String innerPath = "";                for(String fileName: list){                    if(path.endsWith(File.separator)){                        innerPath = path + fileName;                    }else{                        innerPath = path + File.separator + fileName;                    }                    deleteDirectory(innerPath);                }                // 删除空目录                file.delete();            }else{                file.delete();            }        }else{            file.delete();        }    }    @Test    public void testDeleteDirectory() throws IOException{        String path = "G:" + File.separator + "test2";        deleteDirectory(path);    }}
原创粉丝点击