最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java編寫Http服務器下載工具

 更新時間:2015年03月25日 15:39:28   投稿:hebedich  
這篇文章主要介紹了java編寫Http服務器下載工具的方法,工具很簡單,功能也很簡單,代碼就更簡潔了,卻非常實用,有需要的小伙伴參考下吧。

這個工具比較簡單,用于配合另外一個工具進行文件傳送,廢話少說,上代碼

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();
    }
  }
}

這個工具實現(xiàn)了從HTTP服務器上下載指定行數(shù)的文件,并且不會因為編碼的問題引起下載的文件內(nèi)容亂碼
三個工具已經(jīng)搞定,下一次就是把這三個工具結(jié)合起來將HTTP、FTP的文件轉(zhuǎn)移到HDFS上

hadoop工具
ftp工具

以上就是本文所述的全部內(nèi)容了,希望大家能喜歡。

請您花一點時間將文章分享給您的朋友或者留下評論。我們將會由衷感謝您的支持!

相關(guān)文章

  • Spring Boot如何開啟并使用郵件服務

    Spring Boot如何開啟并使用郵件服務

    這篇文章主要介紹了Spring Boot如何開啟并使用郵件服務,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-06-06
  • java基礎(chǔ)理論Stream管道流Map操作示例

    java基礎(chǔ)理論Stream管道流Map操作示例

    這篇文章主要未大家介紹了java基礎(chǔ)理論Stream管道流Map操作方法示例解析,有需要的朋友可以借鑒參考下希望能夠有所幫助,祝大家多多進步
    2022-03-03
  • Java并發(fā)容器之ConcurrentLinkedQueue詳解

    Java并發(fā)容器之ConcurrentLinkedQueue詳解

    這篇文章主要介紹了Java并發(fā)容器之ConcurrentLinkedQueue詳解,加鎖隊列的實現(xiàn)較為簡單,這里就略過,我們來重點來解讀一下非阻塞隊列,
    從點到面, 下面我們來看下非阻塞隊列經(jīng)典實現(xiàn)類ConcurrentLinkedQueue,需要的朋友可以參考下
    2023-12-12
  • SpringCloud Config使用本地倉庫及map注入

    SpringCloud Config使用本地倉庫及map注入

    這篇文章主要介紹了SpringCloud Config使用本地倉庫及map注入,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-09-09
  • java根據(jù)List內(nèi)對象的屬性排序方法

    java根據(jù)List內(nèi)對象的屬性排序方法

    下面小編就為大家分享一篇java根據(jù)List內(nèi)對象的屬性排序方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-01-01
  • Java之字節(jié)碼以及優(yōu)勢案例講解

    Java之字節(jié)碼以及優(yōu)勢案例講解

    這篇文章主要介紹了Java之字節(jié)碼以及優(yōu)勢案例講解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • java編寫猜數(shù)字游戲

    java編寫猜數(shù)字游戲

    這篇文章主要為大家詳細介紹了java編寫猜數(shù)字游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-05-05
  • JavaWeb響應下載功能實例代碼(包含工具類)

    JavaWeb響應下載功能實例代碼(包含工具類)

    今天通過本文給大家分享的是關(guān)于javaweb的響應(response)下載功能,需要的朋友參考下吧
    2017-07-07
  • Springboot自動裝配實現(xiàn)過程代碼實例

    Springboot自動裝配實現(xiàn)過程代碼實例

    這篇文章主要介紹了Springboot自動裝配實現(xiàn)過程代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-06-06
  • SpringCloud使用Nacos保存和讀取變量的配置方法

    SpringCloud使用Nacos保存和讀取變量的配置方法

    在使用SpringCloud開發(fā)微服務時,經(jīng)常會遇到一些比較小的后臺參數(shù)配置,這些配置不足以單獨開一張表去存儲,而且其他服務會讀取該參數(shù),這篇文章主要介紹了SpringCloud使用Nacos保存和讀取變量,需要的朋友可以參考下
    2022-07-07

最新評論

九江县| 都安| 南宫市| 盘山县| 内乡县| 漳平市| 太和县| 保德县| 新巴尔虎左旗| 彭阳县| 古蔺县| 昌宁县| 永康市| 盐亭县| 大同县| 宜黄县| 志丹县| 临泉县| 当雄县| 无为县| 胶州市| 平罗县| 丰镇市| 镶黄旗| 宁海县| 宜章县| 苏尼特左旗| 阿城市| 耿马| 尼勒克县| 辽阳市| 呼图壁县| 边坝县| 平阴县| 长兴县| 隆子县| 万山特区| 崇左市| 乳山市| 洪湖市| 金湖县|