永发信息网

java执行ipconfig /all后,从输出流中读不出中文

答案:1  悬赏:0  手机版
解决时间 2021-02-18 13:30
  • 提问者网友:且恨且铭记
  • 2021-02-18 04:53
java执行ipconfig /all 后,结果流中的中文丢失了。
服务器的本地连接名称为“本地连接”
java用ipconfig /all获取后,使用process.getInputStream()获取流,然后读出的Ethernet adapter中把中文部分丢失了

List list = new ArrayList();
BufferedReader bufferedReader = null;
Process process = null;
try {
process = Runtime.getRuntime().exec("cmd /c ipconfig /all");// windows下的命令,显示信息中包含有mac地址信息
bufferedReader = new BufferedReader(new InputStreamReader(process
.getInputStream()));
String line = null;
int index = -1;
int numOfMac=0;//网卡个数,默认是一个
while ((line = bufferedReader.readLine()) != null) {
(1) System.out.println(line + " **** ");
if(line.equals("")){
continue;
}

index = line.toLowerCase().indexOf("ethernet adapter");// 寻找标示字符串[ethernet adapter]

if (index >= 0) {// 找到了
numOfMac++;
if(numOfMac==2&&list.size()<4){
list.removeAll(list);
}
// System.out.println(line);
list.add(line.trim().substring(17).substring(0,line.trim().substring(17).length()-1));// 取出并去除2边空格
continue;
}
后面的省略

在(1)出输出的字符串为"Ethernet adapter *** ",应该输出为"Ethrenet adapter 本地连接:"
最佳答案
  • 五星知识达人网友:老鼠爱大米
  • 2021-02-18 05:00
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.LinkedList;

public class TestProcessBuilder
{
public static void main ( String[] args ) throws Exception
{
ProcessBuilder builder = new ProcessBuilder ("cmd", "/c", "ipconfig /all");
Process process = builder.start ();
InputStream is = process.getInputStream ();
InputStreamReader isr = new InputStreamReader (is, "GBK");
BufferedReader br = new BufferedReader (isr);
LinkedList list = new LinkedList ();
String line;
String regex = ".*Ethernet adapter(.*)\\:.*";
while (null != ( line = br.readLine () ))
{
if (!"".equals (line))
{
if (line.matches (regex))
{
list.add (line.replaceAll (regex, "$1"));
}
System.out.println (line);
}
}
br.close ();
isr.close ();
is.close ();
process.destroy ();
System.out.println (list);
}
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯