package com.yanghuan.document;
import org.apache.commons.lang3.StringUtils;
import java.io.BufferedReader;
import java.io.FileReader;
import java.util.HashMap;
import java.util.Map;
public class DocumentCompare {
public static void main(String[] args) {
try{
obtainAppIdAndDeviceIdOfTxt();
} catch (Exception e){
System.out.println("ffff---"+e);
}
}
//读入csv文件到内存
public static Map<String, String> obtainAppIdAndDeviceId() throws Exception {
//创建字符缓冲输入流对象
BufferedReader br = new BufferedReader(new FileReader("D:\\0\\sn.csv"));
String line;
Map<String,String> map=new HashMap<String,String>();
while ((line = br.readLine()) != null) {
if(StringUtils.isBlank(line)){
continue;
}
String item[] = line.split(",");//CSV格式文件为逗号分隔符文件,这里根据逗号切分
String s1=item[0];
String dev=null;
if(!s1.contains(":")){
dev=s1.substring(s1.lastIndexOf(":")+1).replaceAll("\"", "").replaceAll("}", "");
}
for(int i=0;i<item.length;i++){
String nb=item[i];
if(!nb.contains("app")){
continue;
}
//比如nb为{"app":"FHJKLMK"},则通过下面的substring后为app为"FHJKLMK"
String app=nb.substring(nb.lastIndexOf(":")+1).replaceAll("\"", "").replaceAll("}", "");
map.put(dev,app);
System.out.println("dev--"+dev+"---app:"+app);
}
}
//释放资源
br.close();
return map;
}
//读入txt文件到内存代码
public static Map<String, String> obtainDeviceIdOfTxt() throws Exception {
//创建字符缓冲输入流对象
BufferedReader br = new BufferedReader(new FileReader("D:\\0\\smm.txt"));
String line;
Map<String,String> map=new HashMap<String,String>();
while ((line = br.readLine()) != null) {
if(StringUtils.isBlank(line)){
continue;
}
String item[] = line.split("------");
String s1=item[0];
map.put(s1,s1);
}
//释放资源
br.close();
return map;
}
//将内存代码中的数据写入txt文件
public static void writeDataToTxt(Map<String, String> result) throws Exception {
String line = System.getProperty("line.separator");
StringBuffer str = new StringBuffer();
FileWriter fw = new FileWriter("D:\\0\\redisDataEnd.txt", true);
for (Map.Entry<String, String> entry : result.entrySet()) {
str.append(entry.getKey() + ":" + entry.getValue()).append(line);
}
fw.write(str.toString());
fw.close();
}
}