java编写Http服务器下载工具
程序员文章站
2024-03-02 13:09:16
这个工具比较简单,用于配合另外一个工具进行文件传送,废话少说,上代码
import java.net.url;
import java.net.urlconne...
这个工具比较简单,用于配合另外一个工具进行文件传送,废话少说,上代码
import java.net.url; import java.net.urlconnection; import java.io.file; import java.io.inputstream; import java.io.fileoutputstream; import java.io.filenotfoundexception; import java.io.ioexception; import org.apache.commons.io.fileutils; public class httputil{ private string httppath = ""; public void sethttppath(string httppath){ this.httppath = httppath; } public string gethttppath(){ return this.httppath; } public httputil(string httppath){ this.httppath = httppath; } public inputstream getstream(string url){ inputstream instream = null; try{ url httpurl = new url(url); urlconnection conn = httpurl.openconnection(); instream = conn.getinputstream(); }catch (exception e){ e.printstacktrace(); return null; } return instream; } public int download(string url,string localname ,int lines) throws filenotfoundexception, ioexception{ fileoutputstream fos = null; inputstream instream = null; int ret = 0; try{ url httpurl = new url(url); urlconnection conn = httpurl.openconnection(); instream = conn.getinputstream(); fos = new fileoutputstream(localname); byte[] b = new byte[102400]; int j = 0; while(instream.read(b) != -1 && lines > 0){ for(int i = j; i < b.length; i++){ if(b[i] == '\n'){ fos.write(b, j, i - j + 1); lines--; if(lines <= 0){ break; } j = i + 1; continue; } } } }catch (exception e){ e.printstacktrace(); ret = -1; }finally { fos.close(); instream.close(); return ret; } } public static void main(string[] args){ string httppath = ""; int lines = 0; string localname = ""; try{ httppath = args[0]; localname = args[1]; lines = integer.parseint(args[2]); }catch (exception e){ e.printstacktrace(); return; } try{ httputil hu = new httputil(httppath); hu.download(hu.gethttppath(),localname ,lines); }catch (exception e){ e.printstacktrace(); } } }
这个工具实现了从http服务器上下载指定行数的文件,并且不会因为编码的问题引起下载的文件内容乱码
三个工具已经搞定,下一次就是把这三个工具结合起来将http、ftp的文件转移到hdfs上
以上就是本文所述的全部内容了,希望大家能喜欢。
请您花一点时间将文章分享给您的朋友或者留下评论。我们将会由衷感谢您的支持!
推荐阅读
-
java编写Http服务器下载工具
-
java实现轻量型http代理服务器示例
-
java实现轻量型http代理服务器示例
-
Java使用NioSocket手动实现HTTP服务器
-
Java使用NioSocket手动实现HTTP服务器
-
java Socket实现简单模拟HTTP服务器
-
JAVA中HTTP通信 以GET和POST方式向WEB服务器提交信息,并接收WEB服务器返回的响应
-
[服务器] 用Servlet搭建自己的HTTP服务|后台向前端传输文件|Java文件传输
-
微信小程序授权 获取用户的openid和session_key【后端使用java语言编写】,我写的是get方式,目的是测试能否获取到微信服务器中的数据,后期我会写上post请求方式。
-
多线程编程学习笔记——编写一个异步的HTTP服务器和客户端