我正在编写一个返回静态html页面的网络服务器。为了响应请求GET /path/to/file/index.html HTTP / 1.0,我应该返回index.html。我用Java编写这个,所以我基本上是通过socket.outputstream返回页面。但是,我不知道如何通过outputstream返回html文件。我是否必须打开输入文件,逐行读取,然后将其打印到socket.outputstream?或者是否有一种将html文件作为HTTP响应发送的快捷方式?谢谢!
答案 0 :(得分:2)
如果您需要使用流,那么是的,您需要自己复制数据。您可以找到示例代码here和here。
然而,您可以使用SocketChannel.open()
中的java.nio打开套接字,FileChannel.open()
打开文件,然后使用FileChannel.transferTo()
方法将所有文件的数据传输到套接字。< / p>