java批量解析微信dat文件

  • 更新时间:2022-06-14 14:45:45
  • 编辑:党凌晓
为网友们分享了java相关的编程文章,网友秦文斌根据主题投稿了本篇教程内容,涉及到java批量解析微信dat文件、批量解析微信dat文件、批量解析dat文件相关内容,已被772网友关注,如果对知识点想更进一步了解可以在下方电子资料中获取。
RxJava响应式编程
RxJava响应式编程
  • 大小:71.1 MB
  • 发布人:巢燕晓
  • 下载:RxJava

本文实例为大家分享了java批量解析微信dat文件的具体代码,供大家参考,具体内容如下

微信图片默认路径:C:\Users\b-eet\Documents\WeChat Files\b-eethoven\FileStorage\Image
微信文件利用Xor加密,计算之前需要知道异或值是多少。(好像每个人电脑上面的异或值都不同,在24行更改异或值)
异或值可用电脑自带的计算机计算(Xor)

java批量解析微信dat文件

package cn.kgw;

import java.io.*;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

public class WeChatImgRevert {
 public static void main(String[] args) {

 ExecutorService pool = Executors.newFixedThreadPool(10);

 Runnable r = () -> {
 String[] fileName = GetFileName.getFileName("D:/dat");

 int i = 0;
 for (String name : fileName) {

 try (InputStream reader = new FileInputStream("D:/dat/" + name)) {
  try (OutputStream writer = new FileOutputStream("D:/photo/" + name + ".jpg")) {
  byte[] bytes = new byte[1024];
  int b;
  while ((b = reader.read(bytes)) != -1) {//这里的in.read(bytes);就是把输入流中的东西,写入到内存中(buffer)。
//  System.out.println("b = " + b + " b ^ 241 = " + (b ^ 241));
  writer.write(b ^ 241);//241这个值是现算的,每个人电脑的值都不一致
  writer.flush();
  }
  }
  System.out.println(i++);
 } catch (Exception e) {
  e.printStackTrace();
 }
 }
 };
 pool.submit(r);
 pool.shutdown();
// System.out.println("--------------------------------");
//
// ArrayList<String> listFileName = new ArrayList<String>();
//
// GetFileName.getAllFileName("F:/dat", listFileName);
//
// for (String name : listFileName) {
// System.out.println(name);
// }

 }

}


class GetFileName {

 public static String[] getFileName(String path) {

 File file = new File(path);

 String[] fileName = file.list();

 return fileName;

 }

// public static void getAllFileName(String path, ArrayList<String> fileName) {
//
// File file = new File(path);
//
// File[] files = file.listFiles();
//
// String[] names = file.list();
//
// if (names != null)
//
// fileName.addAll(Arrays.asList(names));
//
// for (File a : files) {
//
// if (a.isDirectory()) {
//
// getAllFileName(a.getAbsolutePath(), fileName);
//
// }
// }
// }

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持java学习网。

相关下载

  • Head First Java(中文)

    大小:48.8 MB
  • Java虚拟机精讲

    大小:75 MB
  • Java高手真经系统架构卷:Java Web系统设计与架构

    大小:252.34MB

相关教程

  • Java编程中的构造函数详细介绍

    给网友朋友们带来一篇关于Java的教程,这篇文章主要介绍了Java编程中的构造函数详细介绍,介绍了其概念,格式,与其他函数的区别,作用等相关内容,具有一定参考价值,需要的朋友可以了解下。

    发布时间:2022-06-13主题:

    查看详情
  • Java序列化常见实现方法代码实例

    给网友朋友们带来一篇关于Java的教程,这篇文章主要介绍了Java序列化常见实现方法代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    发布时间:2022-06-10主题:Java序列化

    查看详情
  • Java的深拷贝与浅拷贝的几种实现方式

    Java的深拷贝与浅拷贝的几种实现方式

    给大家整理一篇关于Java的教程,这篇文章主要介绍了Java的深拷贝与浅拷贝的几种实现方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    发布时间:2022-06-12主题:Java 深拷贝与浅拷贝

    查看详情
  • Java中单元测试的常用方式(小结)

    为网友们分享了关于Java的教程,这篇文章主要介绍了JAVA中单元测试的常用方式(小结),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    发布时间:2022-06-13主题:

    查看详情
  • java编程题之顺时针打印矩阵

    给网友们整理关于java的教程,这篇文章主要为大家详细介绍了java编程题之顺时针打印矩阵,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    发布时间:2022-06-12主题:

    查看详情
  • 深入理解Java注解及实例

    给大家整理了关于Java的教程,这篇文章主要介绍了深入理解 Java注解及实例的相关资料,希望通过本文大家能够掌握java注解的知识,需要的朋友可以参考下

    发布时间:2022-06-14主题:

    查看详情
  • Java8 Collectors.toMap的坑

    给网友们整理关于java8的教程,这篇文章主要介绍了Java8 Collectors.toMap的坑,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    发布时间:2022-06-11主题:Java8 Collectors.toMap

    查看详情
  • Hibernate传入Java对象创建动态表并录入数据

    为网友们分享了关于java的教程,这篇文章主要介绍了Hibernate传入Java对象创建动态表并录入数据,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    发布时间:2022-06-10主题:Hibernate传入Java对象

    查看详情

用户留言