版本差异对比(五)-- 以JSON格式持久化文件MD5值至磁盘

来源:互联网 发布:磁盘删除分区linux 编辑:程序博客网 时间:2024/06/09 11:30

持久化需要用GSON将Map转换为Json数据,以便读取时直接可以转换回Map。

/**     * java读写文件 读取d:/1.txt文件内容,写入f:/text.txt文件中.     *      * 写入文件换行用fw.write("\r\n"); 或者fw.write("\n");     *      * @author young     *      */    // 读写文件    public static void rwFile(String json) {        try { // 防止文件建立或读取失败,用catch捕捉错误并打印,也可以throw            /* 写入Txt文件 */            File writename = new File("D:/output.txt"); // 相对路径,如果没有则要建立一个新的output。txt文件            if(writename.exists()){                writename.delete();            }            writename.createNewFile(); // 创建新文件            BufferedWriter out = new BufferedWriter(new FileWriter(writename));            out.write(json); // \r\n即为换行            out.flush(); // 把缓存区内容压入文件            out.close(); // 最后记得关闭文件        } catch (Exception e) {            e.printStackTrace();        }    }     /**     * 读取txt文件的内容     * @param file 想要读取的文件对象     * @return 返回文件内容     * @throws IOException      */    public static String txt2String(File file){        StringBuilder result = new StringBuilder();        BufferedReader br = null;        try {            br = new BufferedReader(new FileReader(file));// 构造一个BufferedReader类来读取文件            String s = null;            while ((s = br.readLine()) != null) {// 使用readLine方法,一次读一行                result.append(s);            }        } catch (Exception e) {            e.printStackTrace();        } finally {            if(br != null)                try {                    br.close();                } catch (IOException e) {                    // TODO Auto-generated catch block                    e.printStackTrace();                }        }        return result.toString();    }

调用:

public static void main(String[] args) throws IOException {        // System.out.println("zipmd5="+getFileMD5(new        // File("D:\\test\\D#&&test2&&src&&Main.java.zip")));        // System.out.println("md5="+getFileMD5(new        // File("D:\\test2\\src\\main.java")));        System.out.println("md5==" + getDirMd5ByZip(new File("D:\\test7")));        System.out.println("123123" + md5Map);        rwFile(new Gson().toJson(md5Map));        // System.out.println("size:"+getDirMd5ByZip(new        // File("D:\\test7")).size());        /*         * Map<String, FileHelperModel> map = getZipDirMD5(new         * File("D:\\test")); for (Entry<String, FileHelperModel> entry :         * map.entrySet()) { FileHelperModel fhm = entry.getValue();         * System.out.println("fhm:" + fhm.toString());         *          * }         */        //String strMap = txt2String(new File("D:/output.txt"));        //Map<String,FileHelperModel> myMap = new Gson().fromJson(strMap, new TypeToken<Map<String,FileHelperModel>>(){}.getType());        //System.out.println("myMap:" + myMap);        //System.out.println("strMap===" + strMap);    }
阅读全文
0 0
原创粉丝点击