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 参考资料