java 提取微信、手机QQ 等 diskcache 目录文件中的缩略图 代码。
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Arrays;
/**
*
* @author chenping
*/
public class test {
public static void main(String[] args) throws Exception {
String file = "D:\\documentation\\bak\\xiaolajiao\\tencent\\MicroMsg\\f8745e0b163c24aed78341bab9ffa4f4\\sfs\\sns.block.00000";
byte tag[] = {(byte) 0xFF, (byte) 0xD8, (byte) 0xFF, (byte) 0xE0, (byte) 0x00, (byte) 0x10, (byte) 0x4A, (byte) 0x46, (byte) 0x49, (byte) 0x46};
File cache = new File(file);
FileInputStream fis = new FileInputStream(cache);
byte buf[] = new byte[tag.length];
byte ct[] = covertToByteArray(fis);
int start = 0, end = 0;
for (int i = 0; i < ct.length; i++) {
boolean t = false;
try {
System.arraycopy(ct, i, buf, 0, tag.length);
} catch (Exception ex) {
t = true;
}
if (t || Arrays.equals(buf, tag)) {
if (t) {
end = ct.length - 1;
} else {
end = i;
}
// save to file
int len = end - start;
if (len != 0) {
System.out.println("len=" + len);
byte data[] = new byte[len];
System.arraycopy(ct, start, data, 0, len);
System.out.println("start: " + start+ " , end: " + end + " , len=" + len);
saveToFile(data, i);
start = end;
}
}
if (t) {
break;
}
}
}
private static byte[] covertToByteArray(InputStream stream) throws IOException {
ByteArrayOutputStream swapStream = new ByteArrayOutputStream();
byte[] buff = new byte[1024];
int rc = -1;
while ((rc = stream.read(buff, 0, 1024)) != -1) {
swapStream.write(buff, 0, rc);
}
byte[] in2b = swapStream.toByteArray();
return in2b;
}
private static void saveToFile(byte[] ct, int idx) throws IOException {
File f = new File("d:/cac_sns_5/img_" + idx + ".jpg");
if (!f.exists()) {
f.createNewFile();
}
FileOutputStream fos = new FileOutputStream(f);
fos.write(ct);
fos.close();
}
}
分享到:
相关推荐
一个由JAVA开发的工具,可以将微信缓存目录下的图片缓存 DAT 等类型文件转换为实际的图片文件。
将企业微信群机器人发送 文字、图片、MarkDown、文件消息 封装成了一个工具类: 1.可以用于自建的群,即不是使用企业微信api创建的群,不需要群id; 2.主要使用 okhttp3 调用机器人api和上传文件到临时素材api; 3.有...
使用java springmvc对微信小程序获取到的加密微信运动数据进行解密
主要为大家详细介绍了Java解密微信小程序手机号的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本篇文章主要介绍了java实现微信H5支付方法详解,非常具有实用价值,需要的朋友可以参考下
微信消息通知例子java springboot微信消息通知例子java springboot微信消息通知例子java springboot
以订单推送为例,主要为大家详细介绍了java实现微信公众号发送模版消息,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
java抓取微信公众号最近10篇文章,基于微信搜狗搜索实现。java源码.git 仓库 http://git.oschina.net/hcxy/WechatSpider
java 模拟 微信 浏览器访问web页面.
主要介绍了Java实现微信公众号获取临时二维码功能,结合实例形式分析了java调用微信公众号接口实现临时二维码生成功能相关操作技巧,需要的朋友可以参考下
JAVA语言开发和微信API接口操作控制,开源git控制
主要为大家详细介绍了java实现上传网络图片到微信临时素材,网络图片上传到微信服务器,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
Java后台微信企业转账完整代码,上线项目源码不缺少关键类。
Java微信支付V3实现退款功能,等操作
1. 主要包含3个java文件Robot.java, TextMessage.java, Utils.java 2. 网上拷贝可用的代码,只需更改机器人地址即可. 3. 包含httpclient jar包,fastjson jar包等.
WechatImageDecoder.py实现了解码微信聊天图片数据文件.dat文件的功能。代码文件中的每一行都做了注释,便于代码学习。代码中的两个变量wechat_image_absolute_path、output_path需要修改为自己电脑上的实际路径。
java 调用微信支付demo 微信支付java 调用微信支付demo 微信支付java 调用微信支付demo 微信支付java 调用微信支付demo 微信支付
java二次开发接微信公众号接口,实现根据用户授权,获取用户code,再获取openid,然后向其推送模版消息
java破解微信小游戏一笔画完.zipjava破解微信小游戏一笔画完.zip java破解微信小游戏一笔画完.zipjava破解微信小游戏一笔画完.zip java破解微信小游戏一笔画完.zipjava破解微信小游戏一笔画完.zip java破解微信小...
敏感人脸识别:用户的头像、文章图片、用户上传图片等进行相关检测 注意事项 此处微信出于自己安全考虑对频率进行了限制 单个appid被限制调用频率如下:2000次/分钟,200000次/天 单个文件大小不能超过10M