第一种:java IO流
public class ReadLog throw Exception{
Hash<String,Integer> resultMap =new HashMap<>();
//要读取的log文件
File fileRead =new File("D:\log-1.log");
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(fileRead),"UTF-8"));
//把ETL的结果输出到这个文件
File fileWrite = new File("D:\out.txt");
//加true,意思是追加数据,默认不加是覆盖
BufferWriter writer = new BufferWriter(new OutputStreamWriter(new FileOutputStream(fileWrite,true),"UTF-8"));
String s = "";
while((s = bf.readLine()) != null){
//截取requestId
String requestId = "";
int begin = s.indexOf("[RequestId-")+11;//[RequestId-有十一个字符串
int end = s.indexOf("] INFO");
if(end>begin){//为了防止下标越界
requestId = s.substring(begin,end);//substring是包前不包后
}