0

在这里使用 BufferedReader 时遇到问题。我想要的是打印要在我的 Java 服务器上打印的输入文本(来自我的 android 客户端)。使用 System.out.println 可以正常工作。但是当我把它放在JOptionPane中时,它开始在一个对话框上一个一个地打印。(一行 = 一个对话框,我需要点击“确定”以在不同的 Joptionpane 中显示下一行)

我想要发生的是在一个 JOptionPane.showMessageDialog 中打印所有行。

这是我的代码:

try
            {
                clientSocket = serverSocket.accept(); // accept the client connection
                inputStreamReader = new InputStreamReader(clientSocket.getInputStream());
                bufferedReader = new BufferedReader(inputStreamReader); // get the client message
                DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
                Calendar cal = Calendar.getInstance();

                while ((message = bufferedReader.readLine()) != null) {

                JOptionPane.showMessageDialog(null, message);

                }

                inputStreamReader.close();
                clientSocket.close();

            } catch (IOException ex)
            {
                System.out.println("Problem in message reading");
            }
4

2 回答 2

1

如何使用 aStringBuilder并将所有消息附加到它然后显示JOptionPane这个完整的StringBuilder对象

 StringBuilder s = new StringBuilder();
 while ((message = bufferedReader.readLine()) != null) {
     s.append(message+"\n");
 }

 JOptionPane.showMessageDialog(null, s);
于 2013-09-14T16:03:54.727 回答
1

使用StringBuilder(或)StringBuffer逐行附加消息

{      clientSocket = serverSocket.accept(); // accept the client connection
        inputStreamReader = new InputStreamReader(clientSocket.getInputStream());
      bufferedReader = new BufferedReader(inputStreamReader); // get the client message
            DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
            Calendar cal = Calendar.getInstance();
      StringBuilder str =new StringBuilder();

            while ((message = bufferedReader.readLine()) != null) {

             str.append(message+"\n");
            }
            JOptionPane.showMessageDialog(null, str);

            inputStreamReader.close();
            clientSocket.close();

        } catch (IOException ex)
        {
            System.out.println("Problem in message reading");
       }
于 2013-09-14T16:06:50.747 回答