1

我很困惑。这是 telnet 应用程序的一部分,我希望它返回一个字符串并更新一个文本区域。我尝试从与 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);

   }
4

1 回答 1

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;    
   }
于 2013-04-09T13:51:12.750 回答