有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

内置jar文件中的java HttpURLConnection超时

我编写了一个程序,用java获取文件信息,并在GUI中显示信息。当我使用NetBeans运行程序时,它工作正常,但当我构建它的jar文件时,我会遇到连接超时错误。以下是代码:

private void btnFileAddressActionPerformed(java.awt.event.ActionEvent evt) {                                               
        btnSendForDownload.setEnabled(false);
        if(txtFileAddress.getText().equalsIgnoreCase("")){
            JOptionPane.showMessageDialog(null, "آدرس فایل را وارد نمایید", "هشدار", JOptionPane.INFORMATION_MESSAGE, null);
            return;
        }
        try {            
            fileAddress = new URL(txtFileAddress.getText());
            connection = (HttpURLConnection) fileAddress.openConnection();
            connection.setRequestMethod("GET");
            connection.setConnectTimeout(30 * 1000);
            fileSize = ((float)(connection.getContentLength()));            
            if(fileSize <= 1024){
                lblVolumeValue.setText(fileSize + " بایت");
            }
            else if(1024 < fileSize && fileSize <= 1024 * 1024){                
                lblVolumeValue.setText(String.format("%.2f کیلوبایت", (fileSize / 1024)));
            }
            else if(1024 * 1024 < fileSize && fileSize <= 1024 * 1024 * 1024){
                lblVolumeValue.setText(String.format("%.2f مگابایت", (fileSize / (1024 * 1024))));
            }
            else{
                lblVolumeValue.setText(String.format("%.2f گیگابایت", (fileSize / (1024 * 1024 * 1024))));
            }
            lblStatueValue.setText(String.valueOf(connection.getResponseCode()));
            lblFileExtensionValue.setText(txtFileAddress.getText().substring(txtFileAddress.getText().lastIndexOf(".") + 1, txtFileAddress.getText().length()));
            lblPortionSizeValue.setText(String.valueOf((int)fileSize / downloadersCount) + " B");
            lblRemainValue.setText((String.valueOf(((int)(fileSize)) % downloadersCount)) + " B");
            lblFileNameValue.setText(txtFileAddress.getText().substring(txtFileAddress.getText().lastIndexOf("/") + 1 , txtFileAddress.getText().lastIndexOf(".")));
        } catch (MalformedURLException ex) {
            JOptionPane.showMessageDialog(null, ex.getMessage(), "هشدار", JOptionPane.INFORMATION_MESSAGE, null);
        } catch (IOException ex) {
            JOptionPane.showMessageDialog(null, ex.getMessage(), "هشدار", JOptionPane.INFORMATION_MESSAGE, null);
        }
    }   

我的连接有什么问题?为什么它在构建的jar文件中超时

编辑

下面是构建运行jar的image链接

这是运行IDE的image链接


共 (0) 个答案