添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
* 应用场景: * 1,从50M以上的日志文件中,查找想要的内容,如果这个内容的提取逻辑很复杂,这时候一般的工具就难以胜任了,我们就可以考虑使用这个小程序来处理; * 2,处理大批量的报表文件或者订单文件,比如从商城的订单汇总txt文件中取出所有的金额字段; * 3,其他难以处理的大批量文件; /*public class GetFromFile { //文件路径,从这个文件读取内容,也就是我们需要处理的文件 private static String FILE_PATH = "D:\\livePayment-addAccount.txt"; //文件输出流,输出到文件,输出处理以后的内容到这个文件 private static String FINAL_FILE_PATH = "D:\\text.txt"; //起始位置 private static int START_POSITION = 6; //结束位置 private static int END_POSITION = 14; public static void main(String[] args)throws Exception{ FileReader fr=new FileReader(FILE_PATH); BufferedReader bufferedReader = new BufferedReader(fr); FileOutputStream fileOutputStream = new FileOutputStream(new File(FINAL_FILE_PATH)); PrintStream printStream = new PrintStream(fileOutputStream); //一行内容,原始内容 String line = ""; //截取以后的内容,也就是我们想要的内容部分 String finalString = ""; *//** * while((line = bufferedReader.readLine()) != null) 与 while(bufferedReader.readLine() != null) * 的区别 while((line = bufferedReader.readLine()) != null){ //while(bufferedReader.readLine() != null){ //1,读取文件,以行为单位 //line = bufferedReader.readLine(); //截取字符串,取出我们想要的内容 *//** * Returns the length of this string. * The length is equal to the number of Unicode code units in the string. * public int length() { * return count; if(line.length() > END_POSITION){ finalString = line.substring(START_POSITION, END_POSITION); else if(line.length() > START_POSITION && line.length() < END_POSITION){ finalString = line.substring(START_POSITION, line.length()); else{ finalString = ""; if(!"".equals(line) && line != null){ finalString = line.substring(START_POSITION, END_POSITION); //输出到文件 printStream.println(finalString); //关闭文件输入流 bufferedReader.close(); //关闭文件输出流 printStream.close(); * 向文件每一行批量加入一个字符串 * 读取文件,以行为单位,向每一行行尾加入固定字符串 STRING_APPENDED_TO_END_OF_LINE = " 已修改"; /*public class GetFromFile { //文件路径,从这个文件读取内容,也就是我们需要处理的文件 private static String FILE_PATH = "D:\\xml.txt"; //文件输出流,输出到文件,输出处理以后的内容到这个文件 private static String FINAL_FILE_PATH = "D:\\text.txt"; //添加的字符串 private static String STRING_APPENDED_TO_END_OF_LINE = " 已修改"; public static void main(String[] args)throws Exception{ FileReader fr=new FileReader(FILE_PATH); BufferedReader bufferedReader = new BufferedReader(fr); FileOutputStream fileOutputStream = new FileOutputStream(new File(FINAL_FILE_PATH)); PrintStream printStream = new PrintStream(fileOutputStream); //一行内容,原始内容 String line = ""; while((line = bufferedReader.readLine()) != null){ *//** * 过滤空行(line == null)和空格行(line != null,但是有空格的行) if(!"".equals(line) && line != null && !"".equals(line.trim())){ printStream.println(line + STRING_APPENDED_TO_END_OF_LINE); else{ printStream.println(line); //输出到文件 printStream.println(line + STRING_APPENDED_TO_END_OF_LINE); //关闭文件输入流 bufferedReader.close(); //关闭文件输出流 printStream.close(); * 从日志文件中找出包含指定字符串的报错信息 * 并且满足以下条件: * 1,从ProductUploadController.uploadImg行开始显示; * 2,显示报错的完整信息; * 例子:String = ProductUploadController.uploadImg public class GetFromFile { //文件前缀 路径 private static String FILE_PREFIX = "D:\\"; //文件名 private static String FILE_NAME = "vendor_server34_20160516"; //文件名后缀 private static String FILE_SUFFIX = ".log"; //private static String FILE_SUFFIX = ".txt"; //生成当前日期 static Date currentSeconds = new Date(); static SimpleDateFormat SimpleDateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); static String newCreateDate = SimpleDateFormat.format(currentSeconds); //文件路径,从这个文件读取内容,也就是我们需要处理的文件 //private static String FILE_PATH = "D:\\vendor_server34_20160516.log"; private static String FILE_PATH = FILE_PREFIX + FILE_NAME + FILE_SUFFIX; //文件输出流,输出到文件,输出处理以后的内容到这个文件 private static String FINAL_FILE_PATH = FILE_PREFIX + FILE_NAME + "_" + newCreateDate + FILE_SUFFIX; //指定的字符串 private static String STRING_TO_FIND = "ProductUploadController.uploadImg"; private static int TOTAL = 1; public static void main(String[] args)throws Exception{ FileReader fr=new FileReader(FILE_PATH); BufferedReader bufferedReader = new BufferedReader(fr); FileOutputStream fileOutputStream = new FileOutputStream(new File(FINAL_FILE_PATH)); PrintStream printStream = new PrintStream(fileOutputStream); //一行内容,原始内容 String line = ""; //设置一个开关,控制是否输出到文件 boolean flag = false; while((line = bufferedReader.readLine()) != null){ * 取出所有的报错信息 if(flag){ printStream.println(line); if(line.trim().contains(STRING_TO_FIND)){ printStream.println("第" + TOTAL + "处:"); printStream.println(line); TOTAL++; flag = true; if(line.trim().startsWith("[")){ flag = false; System.out.println("一共有:" + TOTAL + " 处!"); //关闭文件输入流 bufferedReader.close(); //关闭文件输出流 printStream.close(); 1. Volley 添加url参数和表单     请求 添加Url参数,需要自己拼接字符串,或者重写getUrl方法     StringBuilder sb = new StringBuilder(); if (!url 1: jsb是javascript bind的代表,整个C/C++ 导出的绑定都在这个jsb里面,jsb 支持不支持h5; 2: File Utils是本地 文件 读写的一个 工具 类,全局只有一个实例; 3: jsb. file Utils来获取 文件 读写 工具 类的实例; 4: jsb. file Utils.isDirectoryExist(path): 判断路径是否存在; 5: jsb.fi...
笔者最近最近帮助技术同事解决了一个提取和分析 日志 数据的问题,主要使用了python3 的正则表达式和DataFrame两个功能模块,具体代码如下: import numpy as np import pandas as pd import re log=open(r'F:\yycms_access_2019-07-16.log','r').readlines() #读取 日志 文件 ,模式为只读 le...
我们平时查 日志 ,在测试环境, 日志 文件 只有几个的情况下,我们可以通过找时间接近的 文件 然后根据关键词定位 报错 位置,大不了都查一遍,这都可以忍受。但是在实际的生产环境下,服务器集群部署,每天的 日志 非常多非常多,每台机器都会有几十个甚至多达上百个、数百个 日志 文件 产生。遇到问题需要查询 日志 时,你会发现如果一个个 文件 去查,你会崩溃掉。因为这是很费时的重复性工作,而且也不一定能查到。 为了解决...
在工作 我总会通过 日志 来查找相关问题,但有时候 日志 太多有不知道又不知道 日志 什么时候打印的,这时我们可以通过一下方法来查找: 1、把目录跳到你 日志 文件 存放的地方 2、grep  关键  *    例如要查找多有有关tomcat的 信息 grep  tomcat  *  这样就可以查到所有tomcat的 信息 和是哪个 日志 文件 3、vi  xxx.log  进入 日志 文件 4、/tomcat
我们平时遇到错误时,一般都会查看打印的log 信息 ,然后定位到错误的原因,但是有时候遇到程序无响应(ANR)时就不太好办了。这里告诉大家一个通用的方法,能够有效的定位ANR错误 信息 找到 导致其发生的根源。 当有三种情况(程序异常退出时,程序强制关闭,程序无响应(ANR))之一产生时就会在手机的data目录生成一个log 文件 ,这个 文件 包含了三类 信息 : 1.系统基本 信息 ,包括内存,CPU,进程队列
import java.io. File InputStream; import java.io.InputStreamReader; import java.text.DateFormat; import java.text.Si