readtext = new String(buff,0,read)......是字符串,int还是数组?

时间:2013-04-09 13:48:12

标签: java telnet

我很困惑。这是telnet应用程序的一部分,我希望它返回一个字符串并更新textarea。我试图用textArea.setText在同一个类中的方法内部更新textarea,但这不起作用,我知道我们应该调用方法并返回字符串。是的我知道我应该删除“void”但是当我尝试它时说该方法返回一个int?我希望它返回一个包含服务器文本的字符串。如果我打印到控制台,它会打印出我想要的文字...... Arg!我也使用apache commons库。

public static void read() throws IOException {

   String readtext;

   byte[] buff = new byte[1024];

   int read;

   if((read = telnetClient.getInputStream().read(buff)) > 0) {

    readtext = new String(buff, 0, read);

    //return readtext;

       //System.out.println(new String(buff, 0, read));

    System.out.println(readtext);

   }

1 个答案:

答案 0 :(得分:1)

您的答案不会返回字符串。您需要将String添加到方法签名并返回readtext变量以获取所需的文本。

试试这个:

public static String read() throws IOException {
   String readtext;    
   byte[] buff = new byte[1024];    
   int read;

   if((read = telnetClient.getInputStream().read(buff)) > 0) {    
       readtext = new String(buff, 0, read);
   }
    return readtext;    
   }