Java Android TextView的怪异输出

Java Android TextView的怪异输出,java,android,process,output,bufferedreader,Java,Android,Process,Output,Bufferedreader,我试图从我的android应用程序中运行ping命令,并在TextView中查看输出,但结果是有些狼吞虎咽 这是我的输出: java.io.BufferedReader@4144f2d0 这是我的代码: try { Process process = Runtime.getRuntime().exec("ping -c 5 192.168.1.2"); BufferedReader in = new BufferedReader(new InputStreamReader(p

我试图从我的android应用程序中运行ping命令,并在TextView中查看输出,但结果是有些狼吞虎咽

这是我的输出:

java.io.BufferedReader@4144f2d0
这是我的代码:

try {

    Process process = Runtime.getRuntime().exec("ping -c 5 192.168.1.2");
    BufferedReader in = new BufferedReader(new InputStreamReader(process.getInputStream()));

    txtview=(TextView)findViewById(R.id.textView);
    txtview.setText("output:\n"+in); 

    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

您得到的“怪异”输出是中
的目标代码。您可能希望在
setText()
方法中使用
in.read()

您需要从
BufferedReader
读取
字符串

   BufferedReader in = new BufferedReader(new InputStreamReader(process.getInputStream()));

    StringBuilder total = new StringBuilder();
    String line;
    while ((line = in .readLine()) != null) {
        total.append(line);
    }
   txtview=(TextView)findViewById(R.id.textView);
   txtview.setText("output:\n"+total.toString()); 

是的,这就是您将得到的,您正在尝试打印
bufferedreader
尝试
bufferedreader.readline()
尝试以下操作:


txtView.setText(“输出:\n”+org.apache.commons.io.IOUtils.toString(总计);

您正在尝试将文本设置为“BufferedReader”,它将调用toString()方法并提供当前输出。您需要做的是使用BufferedReader对象并从中读取数据并显示它。