java - JTextArea数据附加不显示错误但加载文件时不显示数据

标签 java swing jtextarea event-dispatch-thread

这里我附加了代码片段,该代码片段应该选择文件并逐行读取该文件,并将该数据添加到JTextArea

  private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
        File selectedFile;
        FileReader reader = null;
        BufferedReader in;
          String inputLine = "";
             double port1 = Math.random();
        long portNo = Math.round(Math.random() * 10000);
                System.out.println("portNo"+portNo);
            int LineNumber = 0;
        try {
            final JFileChooser fc = new JFileChooser();
            DataInputStream inp=null;
            ServerSocket ss=new ServerSocket((int) portNo);
                Socket socket=new Socket("localhost",(int) portNo);
                Socket socket1=ss.accept();
            fc.setFileSelectionMode(JFileChooser.FILES_ONLY);
            txtSearch.setText((fc.showOpenDialog(CreateNode.this) == JFileChooser.APPROVE_OPTION) ? fc.getSelectedFile().toString() : txtSearch.getText());            
            if (fc.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) {
                //gets file from dialog
                selectedFile = fc.getSelectedFile();
                //makes sure files can be processed before proceeding
                if (selectedFile.canRead() && selectedFile.exists()) {
                    //System.out.println("can read:"+selectedFile.canRead()+"exists:"+selectedFile.exists());
                    reader = new FileReader(selectedFile);
                }
            in = new BufferedReader(reader);

            //inputLine recieves file text


             DataOutputStream dos4=new DataOutputStream(socket.getOutputStream());
            while ((inputLine=in.readLine())!=null ) {
                //LineNumber isn't needed, but it adds a line count on the left, nice
               // inputLine=in.readLine();
               System.out.println("inputline"+inputLine+"LineNumber:"+LineNumber);
                LineNumber++;
                 fileData.append(LineNumber + ": " + inputLine + "\n");
                //next line in File opened
                dos4.writeUTF(LineNumber + ": " + inputLine + "\n");          
            }
               dos4.close();
             inp=new DataInputStream(socket1.getInputStream());

               String input = (String)inp.readUTF();
            //close stream, files stops loading
            in.close();
    }                                        
    catch (Exception e) {
        System.out.println("Exception e:"+e);
        e.printStackTrace();
        }
    }

这里没有显示任何错误,并且在控制台(sysout)中显示数据,但没有附加到文本区域。

最佳答案

不@mahender Reddy yasa 它没有连接到套接字服务器,只需检查是否遵循这些步骤

1)启动服务器

2)尝试连接客户端与服务器

关于java - JTextArea数据附加不显示错误但加载文件时不显示数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28556712/

相关文章:

java - 如何使用组合框更改文本区域中的字体类型

java - 在 Java 的 JTextArea 中区分拖动和选择

java - 将 Java 项目编译为 native 库并在其上创建 C/C++ 包装器

java - Android 内存/性能分析工具

java - 无法通过使用 Amazon Corretto 8 双击它来运行可执行 jar 文件

java - 我如何使用 JSONArray 保留 json 的原始顺序

java - 如何使用 BorderLayout 将两个具有首选尺寸的标签添加到面板中?

java - 如何读取File并将内容写入JTextArea?

java - 移动到附近的网格点

java - 我如何使用数组来制作随机圆圈