HttpsURLConnection:连接超时错误

我有一个简单的代码,用于设置与谷歌的https连接并打印获得的响应。 import java.io.OutputStreamWriter; import java.net.URL; import javax.net.ssl.HttpsURLConnection; public class SendCertReq { public static void main(String[] args) throws Exception { URL url = new URL(“https://www.google.co.in/”); HttpsURLConnection conn = (HttpsURLConnection)url.openConnection(); conn.setRequestMethod(“GET”); conn.setDoOutput(true); OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream()); wr.close(); System.out.println(conn.getResponseMessage()); } } 我尝试运行它时出现以下错误。 Exception in thread “main” java.net.ConnectException: Connection timed out: connect at java.net.DualStackPlainSocketImpl.connect0(Native Method) at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source) […]

在继续JavaFX之前更新UI并强行等待

我在这里展示了我欢迎场景的图像。 “ 创建新项目”按钮的当前行为如下所示: Stage stage = (Stage)((Node)event.getSource()).getScene().getWindow(); stage.hide(); Parent root = FXMLLoader.load(getClass().getResource(“/view/scene/configure/NewProjectConfigureScene.fxml”)); Scene scene = new Scene(root); stage.setTitle(“Configure New Project Settings”); stage.setScene(scene); stage.show(); 用文字解释:按下按钮 – >我得到舞台 – >隐藏当前场景 – >切换舞台以获得新场景 – >重新显示舞台。 这种行为是有效的。 我是GUI编程的新手,所以当我解释我需要的东西时,请耐心等待。 我现在正在尝试添加一个小function,当按下Create New Project按钮时,当前场景中出现加载消息,我强制GUI等待几秒钟(这样用户有时间看到这个“loading “消息”,然后继续进入下一个场景。 加载消息看起来像这样。 我真的想要实现这个function,因为加载消息后面的等待可能更直观,从而改善了我在使用程序时的用户体验。 我最初的尝试是做以下事情: statusText.setText(“Please wait…”); // statusText is the “loading message” Stage stage = (Stage)((Node)event.getSource()).getScene().getWindow(); try { […]

FileWriter中的Java txt文件为空

如果PRINT()方法在VehicleCollection类中,并在主类中调用,我在java项目中从类FileWrite写txt文件时遇到问题 – 没有问题。 但是我希望print方法在不同的类中,它命名为FileWrite,并从main类中调用main方法。 这里的代码和平。 我希望我写出正确的问题。 如果我应该更多地解释我的代码,我会。 我有3个课程第一课是: public class VehicleCollection { private ArrayList arrList = new ArrayList(); public ArrayList getArrList() { return arrList; } void setArrList(ArrayList w){ arrList = w; } public void getCollection() throws FileNotFoundException, IOException { Here Add in ArrayLIst… } } 第二课是: public class FileWrite extends VehicleCollection { FileWrite(ArrayList w){ setArrList(w); […]

如何在java中获取数组中的第一个和最后一个元素?

如果我有一系列双打: [10.2, 20, 11.1, 21, 31, 12, 22.5, 32, 42, 13.6, 23, 32, 43.3, 53, 14, 24, 34, 44, 54, 64, 15.1, 25, 35, 45, 55, 65.3, 75.4, 16, 26, 17.5,] 我想获得第一个元素和最后一个元素 firstNum = 10.2 lastNum = 17.5 我该怎么做?

为什么线程会阻塞我的JavaFX UI线程?

当用户选择在另一个线程中启动阻止进程的菜单项时,我试图在JavaFX 8应用程序中提供反馈。 在我的实际应用程序中,它是一个文件下载,但我通过示例使用最少的代码创建了一个测试用例: import javafx.application.Application; import javafx.application.Platform; import javafx.scene.Scene; import javafx.scene.control.MenuButton; import javafx.scene.control.ToolBar; import javafx.scene.control.MenuItem; import javafx.stage.Stage; public class BlockingThreadTestCase extends Application { public static void main(String[] args) { launch(args); } @Override public void start(Stage primaryStage) throws Exception { MenuItem menuItem = new MenuItem(“Start”); MenuButton menuButton = new MenuButton(); menuButton.setText(“Async Process”); menuButton.getItems().addAll(menuItem); menuItem.setOnAction(event -> { […]

Java – 使用格式化程序标志从左侧截断字符串

我有一个字符串,说: String s = “0123456789”; 我想用格式化程序填充它。 我可以这两种方式: String.format(“[%1$15s]”, s); //returns [ 0123456789] 要么 String.format(“[%1$-15s]”, s); // returns [0123456789 ] 如果我想截断我做的文字 String.format(“[%1$.5s]”, s); // returns [01234] 如果我想从左边截断,我想我可以这样做: String.format(“[%1$-.5s]”, s); // throws MissingFormatWidthException 但这失败了,所以我尝试了这个: String.format(“[%1$-0.5s]”, s); // throws MissingFormatWidthException 以及: String.format(“[%1$.-5s]”, s); // throws UnknownFormatConversionException 那么我如何使用格式标志从左侧截断?

Java正则表达式转义字符

匹配某些字符(例如换行符)时,可以使用正则表达式“\\ n”或实际上只使用“\ n”。 例如,以下内容将字符串拆分为一行数组: String[] lines = allContent.split(“\\r?\\n”); 但以下工作也同样如此: String[] lines = allContent.split(“\r?\n”); 我的问题: 以上两种方式是否完全相同 ,还是有任何微妙的区别? 如果是后者,你能给出一个例子,你会得到不同的结果吗? 或者仅在[可能/理论]性能方面存在差异?

如何在使用自定义ListCellRenderer时防止JComboBox无响应

我正在使用JComboBox和自定义ListCellRenderer制作字体选择器。 我希望JComboBox显示所有可用的字体,每个字体名称都以自己的字体显示。 我目前使用大约500种字体。 提供此function的ListCellRenerer示例: private class ComboBoxRenderer extends JLabel implements ListCellRenderer { private JLabel label = new JLabel(“Test”); @Override public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { Font tempFont = label.getFont(); setFont(new Font((String) value, tempFont.getStyle(), tempFont.getSize())); setText((String) value); return this; } } 问题是,在使用此渲染器时, JComboBox在程序执行期间变得无响应。 第一次单击combobox以显示列表时,列表加载需要几秒钟。 第二次单击,立即显示列表。 如果有人评论该行 setFont(new Font((String) value, […]

Java中的随机种子Math.random

在我的代码中,我使用不同类中的随机数。 如何定义随机种子? 我可以为主代码中的所有类定义此种子吗? double rnd = Math.random();

Spring JDBC没有使用log4j记录SQL

我正在研究弹簧可能切换到弹簧组。 我认为很酷的一件事是spring jdbc能够记录所有已执行的sql。 所以我放入log4j,设置一个log4j.properties文件。 而且没有sql。 这是log4j.properties文件: log4j.appender.stdout=org.apache.log4j.ConsoleAppe nder log4j.appender.stdout.Target=System.out log4j.appender.stdout.layout=org.apache.log4j.Patt ernLayout log4j.appender.stdout.layout.ConversionPattern=%d{ ABSOLUTE} %5p %c{1}:%L – %m%n log4j.rootLogger=debug, stdout log4j.category.org.springframework.jdbc.core=DEBUG 这里是一些非常简单的插入sql的输出,通过spring jdbc: http : //pastie.org/713189