【发布时间】:2020-03-25 01:56:12
【问题描述】:
我正在用 java 制作一个简单的纯文本即时通讯工具。它目前的工作方式是通过向 php 文件发送请求将所有消息放入在线文本文件中(我知道这对安全性不利,但这只是为了学习如何在 java 中连接网络应用程序。 ) 目前,我不断获取 messages.txt 文件的全部内容并将它们放入我的 JTextPane 中,如下所示:
while(true) {
URL url = new URL("{path to text file}");
InputStream in = url.openStream();
Scanner s = new Scanner(in).useDelimiter("\\A");
String conversation = s.hasNext() ? s.next() : "";
textPane.setText(conversation);
}
但是当对话变得足够长时,它就会滞后,因为它不断地从网络服务器获取 100kb 以上的文件。
我想要做的是只读取文件的更改,这样它就不会延迟并通过请求大量纯文本文件来最大化我的互联网连接。我不想让它每 2 秒运行一次,因为它是一个即时信使,没有延迟。
我将如何只获取对文件的更改并将它们添加到文本窗格?
【问题讨论】:
标签: java http web text continuous