我需要一个 java 程序从 Web 服务器下载一系列文件,并且我需要能够关闭然后重新打开每个文件下载之间的 tcp/ip 连接。
不知道该怎么做。
这是一种从套接字 80 (http) 检索任何信息的低级方法,通常用于检索邮件、执行“telnet”等:
socket = new Socket();
socket.connect(new InetSocketAddress(host, port));
reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
writer = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
现在调用检索页面,发送 get 命令,设置内容类型,并发送两个“\n”。
有一个更高级别的解决方案: 发送带有标头的 HTTP GET 请求
您可以Socket
为要发送到的 IP 和端口创建 a ,然后使用 a 将文件读入字节数组FileInputStream
并通过 a 发送该字节数组DataOutPutStream
,然后完成后只需刷新 dataOutPutStream 并关闭 Socket 并再次调用该函数发送下一个文件。
使用逻辑:请发布您尝试过的内容。
do{
connection.open;
while(!eof){
fetchfiles();
}
connection.close;
}while(no of files yet to download);