我想在 Kotlin 脚本中使用 Java Web 套接字 API 接收 HTTP 请求。
我在请求中只需要两行,所以我尝试将整个请求作为字符串行获取,对其进行迭代,并为这两行中的每一行获取与正则表达式匹配的行。
我测试了一个文本文件的 FileInputStream,而不是从客户端发送的实际 InputStream。我只能迭代一次,所以我无法获得第二行。我收到以下结果。
获取/hello.html HTTP/1.1
线程“main”中的异常 java.util.NoSuchElementException:序列不包含与谓词匹配的元素。在 RequestParam$filterLines$1.invoke(RequestParam.kt:29) 在 RequestParam$filterLines$1.invoke(RequestParam.kt:6) 在 RequestParam.(RequestParam.kt:19) 在 RequestParamKt.main(RequestParam.kt:26)
官方 Kotlin 参考资料说,由 asSequence() 实例化的序列不能迭代多次。所以我使用了 Supplier 接口,但这不起作用。
我之前尝试过同样的事情并且它有效。我现在正在重写代码,因为以前的版本有点乱。
翻阅古今
RISEBY
相关分类