2013-04-09 79 views
1

我很困惑。這是一個telnet應用程序的一部分,我希望它返回一個字符串並更新一個textarea。我試圖從與textArea.setText在同一類中的方法內更新textarea,但這不起作用,我知道我們應該調用方法並返回字符串。是的,我知道我應該刪除「空白」,但是當我嘗試它說方法返回一個int?我希望它從服務器返回一個帶有文本的字符串。如果我打印到控制檯它打印完全我想要的文字.... Arg!此外我使用Apache公共庫。readtext = new String(buff,0,read)......是字符串,int還是數組?

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

您的答案不會返回字符串。您需要將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;  
    } 
+0

將是有益的,如果你解釋了爲什麼你的作品和他沒有。如果在正常執行流程中發現返回語句,並且後面跟有更多代碼,則編譯器會將後面的所有代碼標記爲無法訪問,並拒絕編譯。然而,如果使用maloneys方法,return語句是方法中最後一件事,因此是正確的:) – BlackBox 2013-04-09 13:54:04

+0

@BlackBox將編輯答案和解釋... – maloney 2013-04-09 13:55:29

+1

是的,我很愚蠢,我現在看到Meloney做了什麼,它的工作原理。 – user2261933 2013-04-10 16:09:57

相關問題