ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

Java-经典算法-logcat获取数据

2026/8/13 4:23:07 拓冰建站 浏览量
Java-经典算法-logcat获取数据

1 需求


2 语法


3.1 示例:打印本次查询数据

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;/*** 功能:adb logcat -b main -s PRIVA_LOG -d*/
public class Test {public static void main(String[] args) {for (int i = 0; i < 10; i++) {System.out.println("***** ***** ***** ***** start ***** ***** ***** *****");try {Runtime runtime = Runtime.getRuntime();Process process = runtime.exec("cmd /c adb logcat -b main -s PRIVA_LOG -d");InputStream inputStream = process.getInputStream();InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "GBK");BufferedReader bufferedReader = new BufferedReader(inputStreamReader);String line;while ((line = bufferedReader.readLine()) != null) {System.out.println(line);}bufferedReader.close();} catch (IOException e) {e.printStackTrace();}System.out.println("***** ***** ***** ***** stop ***** ***** ***** *****");try {Thread.sleep(3000);} catch (InterruptedException e) {e.printStackTrace();}}}
}

3.2 示例:打印新增数据

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;/*** 功能:adb logcat -b main -s PRIVA_LOG -d*/
public class Test {public static void main(String[] args) {ArrayList<String> arrayListTemp = new ArrayList<>();ArrayList<String> arrayListResult = new ArrayList<>();for (int i = 0; i < 10; i++) {System.out.println("***** ***** ***** ***** start ***** ***** ***** *****");try {Runtime runtime = Runtime.getRuntime();Process process = runtime.exec("cmd /c adb logcat -b main -s PRIVA_LOG -d");InputStream inputStream = process.getInputStream();InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "GBK");BufferedReader bufferedReader = new BufferedReader(inputStreamReader);String line;while ((line = bufferedReader.readLine()) != null) {arrayListTemp.add(line);}bufferedReader.close();} catch (IOException e) {e.printStackTrace();}for (String s : arrayListTemp) {if (s.contains(":") && !arrayListResult.contains(s)) {arrayListResult.add(s);System.out.println(s);}}System.out.println("***** ***** ***** ***** stop ***** ***** ***** *****");try {Thread.sleep(3000);} catch (InterruptedException e) {e.printStackTrace();}}}
}

3.3 示例:打印累计&不重复的数据

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;/*** 功能:adb logcat -b main -s PRIVA_LOG -d*/
public class Test {public static void main(String[] args) {ArrayList<String> arrayListTemp = new ArrayList<>();ArrayList<String> arrayListResult = new ArrayList<>();for (int i = 0; i < 10; i++) {System.out.println("***** ***** ***** ***** start ***** ***** ***** *****");try {Runtime runtime = Runtime.getRuntime();Process process = runtime.exec("cmd /c adb logcat -b main -s PRIVA_LOG -d");InputStream inputStream = process.getInputStream();InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "GBK");BufferedReader bufferedReader = new BufferedReader(inputStreamReader);String line;while ((line = bufferedReader.readLine()) != null) {arrayListTemp.add(line);}bufferedReader.close();} catch (IOException e) {e.printStackTrace();}for (String s : arrayListTemp) {if (s.contains(":") && !arrayListResult.contains(s)) {arrayListResult.add(s);}}for (String t : arrayListResult) {System.out.println(t);}System.out.println("***** ***** ***** ***** stop ***** ***** ***** *****");try {Thread.sleep(3000);} catch (InterruptedException e) {e.printStackTrace();}}}
}

4 参考资料