快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

java中怎么批量解析微信dat文件

这篇文章给大家介绍java中怎么批量解析微信dat文件,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

目前成都创新互联已为近1000家的企业提供了网站建设、域名、网络空间、网站托管、服务器租用、企业网站设计、邻水网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

微信图片默认路径: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 listFileName = new ArrayList();
//
// 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 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中怎么批量解析微信dat文件就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。


当前文章:java中怎么批量解析微信dat文件
转载注明:http://6mz.cn/article/jhhcoj.html

其他资讯