gpt4 book ai didi

java - 读取 InputStream 后 JOptionPane.showMessageDialog 不显示。 [Java]

转载 作者:行者123 更新时间:2023-12-01 12:15:16 25 4
gpt4 key购买 nike

这是我认为导致问题的代码片段。

while((is.read(bytes)) != -1)
{
fos.write(bytes);
}

JOptionPane.showMessageDialog(null,"File Received.","Complete.",JOptionPane.INFORMATION_MESSAGE);
//System.out.println("File Received.");

现在,当控件到达 JOptionPane 语句时,不会显示任何内容,程序甚至不会结束。我必须从任务管理器手动结束它。当我尝试注释掉 JOptionPane 语句并使用控制台方法(即 System.out.println() )来显示消息时,它起作用并且程序正常结束。我不明白为什么这个 JOptionPane 会导致这个问题。我被困在这里了。如有帮助,将不胜感激。感谢期待。

最佳答案

完成后,您必须关闭流。这是工作。当执行 fos.close() 时,它会通知 EDT 并显示消息。对于 System.out.print,它不在 EDT 中,因此一旦 write 操作完成就会打印。

while((is.read(bytes)) != -1)
{
fos.write(bytes);
}
fos.close();
JOptionPane.showMessageDialog(null,"File Received.","Complete.",JOptionPane.INFORMATION_MESSAGE);
//System.out.println("File Received.");

关于java - 读取 InputStream 后 JOptionPane.showMessageDialog 不显示。 [Java],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27059625/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com