版本差异对比(五)-- 以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
- 版本差异对比(五)-- 以JSON格式持久化文件MD5值至磁盘
- 版本差异对比(二) -- 文件的MD5算法
- 版本差异对比(四)-- 计算压缩文件夹及文件的MD5值
- 对比文件MD5差异并保存
- 版本差异对比 -- 前言(一)
- QT界面设计并保存到文件(以JSON格式)
- 版本差异对比(三) -- 文件迭代压缩与解压缩
- 数据持久化(保存Json文件)---Newtonsoft Json
- 文件内容差异对比
- Python自动化运维笔记(五):使用filecmp模块实现文件以及文件目录差异对比
- 版本差异对比(六) -- 比较规则定义
- 数据持久化(保存Json文件)---SimpleJson
- 表单序列化以json格式传输
- Json.NET序列化日期格式差异问题
- Java 日志文件差异对比
- BOSS软件修改以支持JSON格式输入文件
- <SVN>使用SVN小乌龟对比单个文件任意版本的差异
- 两个csv文件差异对比(方法二)
- 交叉编译知识简介
- Kafka的一些命令
- 单片机串口通信基础
- 程序员快速处理代码bug的5大技巧
- CentOS httpd的安装与简单设置
- 版本差异对比(五)-- 以JSON格式持久化文件MD5值至磁盘
- Android Studio出现Failed to open zip file问题的解决方法
- TensorFlow-numpy问题
- Android MVP模式的简单登录
- mysql数据库从一张表向另一张表插入数据
- Java 序列化Serializable详解
- 历久而新,既《第一行代码》后,新书《第二行代码》已出版啦
- Python基础入门之条件判断和循环一
- 蓝桥杯 入门训练 A+B问题