Java Android TextView的怪异输出
我试图从我的android应用程序中运行ping命令,并在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
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对象并从中读取数据并显示它。