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

Java實(shí)現(xiàn)的簡(jiǎn)單圖片上傳功能示例

 更新時(shí)間:2017年09月06日 12:14:27   作者:chaoyu168  
這篇文章主要介紹了Java實(shí)現(xiàn)的簡(jiǎn)單圖片上傳功能,結(jié)合實(shí)例形式分析了java圖片傳輸相關(guān)的檢驗(yàn)、傳輸、接收等相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了Java實(shí)現(xiàn)的簡(jiǎn)單圖片上傳功能。分享給大家供大家參考,具體如下:

import java.io.*;
import java.net.*;
/*
*發(fā)送端
*/
class picsend
{
  public static void main(String[] args) throws Exception
  {
    if(args.length!=1)
    {
      System.out.println("請(qǐng)選擇一張.jpg圖片");
      return;
    }
    File file = new File(args[0]);
    if (!(file.exists() && file.isFile()))
    {
      System.out.println("圖片有問題(不是文件或不存在)");
      return;
    }
    if(!file.getName().endsWith(".jpg"))
    {
      System.out.println("圖片格式不對(duì),請(qǐng)重新選擇圖片");
      return;
    }
    if(file.length()>1024*1024*10)
    {
      System.out.println("圖片過大,無法上傳");
      return;
    }
    Socket s = new Socket("192.168.33.1",10006);//建立服務(wù)
    FileInputStream fis = new FileInputStream("d:\\美女.jpg");//讀取圖片
    OutputStream out = s.getOutputStream();//讀到的寫入
    byte [] b = new byte[1024];
    int len = 0;
    while((len = fis.read(b))!= -1)
    {
      out.write(b,0,len);
    }
    s.shutdownOutput();//標(biāo)記結(jié)束
    InputStream in = s.getInputStream();//讀服務(wù)端返回?cái)?shù)據(jù)
    byte [] bin = new byte[1024];
    int num = in.read(bin);
    System.out.println(new String(bin,0,num));
    fis.close();
    s.close();
  }
}
class picThread implements Runnable
{
  private Socket s;
  picThread(Socket s)
  {
    this.s = s;
  }
  public void run()
  {
    int count = 1;
    String ip = s.getInetAddress().getHostAddress();//得到ip
    try
    {
      System.out.println(ip+".............connect");
      InputStream in = s.getInputStream();//讀到流中數(shù)據(jù)
      File file = new File(ip+"("+(count)+")"+".jpg");
      while(file.exists())//判斷文件是否存在
        file = new File(ip+"("+(count++)+")"+".jpg");
      FileOutputStream fos = new FileOutputStream(file);//寫入
      byte [] b = new byte[1024];
      int len = 0;
      while((len = in.read(b))!=-1)
      {
        fos.write(b,0,len);
      }
      OutputStream out = s.getOutputStream();//寫入服務(wù)端傳過來數(shù)據(jù)
      out.write("上傳成功!".getBytes());
      fos.close();
      s.close();
    }
    catch (Exception e)
    {
      throw new RuntimeException("上傳失敗");
    }
  }
}
/*
*服務(wù)端
*/
class picrece
{
  public static void main(String[] args) throws Exception
  {
    ServerSocket ss = new ServerSocket(10006);
    while(true)
    {
      Socket s = ss.accept();//接收
      new Thread(new picThread(s)).start();
    }
  }
}

運(yùn)行效果圖如下:

更多java相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java圖片操作技巧匯總》、《java日期與時(shí)間操作技巧匯總》、《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》、《Java文件與目錄操作技巧匯總》及《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》。

希望本文所述對(duì)大家java程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • 新版POI獲取日期類型cell值過程圖解

    新版POI獲取日期類型cell值過程圖解

    這篇文章主要介紹了新版POI獲取日期類型cell值過程圖解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-10-10
  • 解決@ServerEndpoint不能注入@Autowired的問題

    解決@ServerEndpoint不能注入@Autowired的問題

    這篇文章主要介紹了解決@ServerEndpoint不能注入@Autowired的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • Springboot文件上傳功能簡(jiǎn)單測(cè)試

    Springboot文件上傳功能簡(jiǎn)單測(cè)試

    這篇文章主要介紹了Springboot文件上傳功能簡(jiǎn)單測(cè)試,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05
  • springboot+thymeleaf整合阿里云OOS對(duì)象存儲(chǔ)圖片的實(shí)現(xiàn)

    springboot+thymeleaf整合阿里云OOS對(duì)象存儲(chǔ)圖片的實(shí)現(xiàn)

    本文主要介紹了springboot+thymeleaf整合阿里云OOS對(duì)象存儲(chǔ)圖片的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • 詳解Spring Data Jpa當(dāng)屬性為Null也更新的完美解決方案

    詳解Spring Data Jpa當(dāng)屬性為Null也更新的完美解決方案

    這篇文章主要介紹了詳解Spring Data Jpa當(dāng)屬性為Null也更新的完美解決方案,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-02-02
  • Spring Boot 整合 Shiro+Thymeleaf過程解析

    Spring Boot 整合 Shiro+Thymeleaf過程解析

    這篇文章主要介紹了Spring Boot 整合 Shiro+Thymeleaf過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10
  • 從Spring源碼解析事務(wù)失效的原因

    從Spring源碼解析事務(wù)失效的原因

    今天帶大家學(xué)習(xí)Spring的相關(guān)知識(shí),文章圍繞著Spring事務(wù)失效的原因等相關(guān)知識(shí)展開,文中有非常詳細(xì)的介紹及圖文示例,需要的朋友可以參考下
    2021-06-06
  • Java中成員方法與成員變量訪問權(quán)限詳解

    Java中成員方法與成員變量訪問權(quán)限詳解

    在Java學(xué)習(xí)過程中,在寫類經(jīng)常為用到public,private和protected,我個(gè)人的經(jīng)驗(yàn)是一般類的成員變量都是用private,方法用public,類的內(nèi)部用protected方法,如果是存在子類的,那我就會(huì)把父類中的成員變量變?yōu)閜rotected。(其余的看具體實(shí)際情 況而定)
    2015-08-08
  • 三種Java自定義DNS解析器方法與實(shí)踐

    三種Java自定義DNS解析器方法與實(shí)踐

    這篇文章主要分享三種Java自定義DNS解析器方法與實(shí)踐,對(duì)于高性能的測(cè)試機(jī)(54C96G * 3)而言,可任意通過自定義Java DNS解析器來實(shí)現(xiàn)接口請(qǐng)求,下文內(nèi)容的實(shí)現(xiàn),需要的小伙伴可以參考一下
    2022-02-02
  • java中封裝JDBC工具類的實(shí)例分析

    java中封裝JDBC工具類的實(shí)例分析

    在本篇內(nèi)容里小編給各位分享了一篇關(guān)于java中封裝JDBC工具類的實(shí)例分析,對(duì)此有興趣的朋友們可以學(xué)習(xí)下。
    2021-03-03

最新評(píng)論

满洲里市| 那坡县| 海门市| 安福县| 双流县| 合水县| 右玉县| 互助| 金溪县| 丁青县| 永宁县| 平塘县| 常德市| 寿光市| 河东区| 连州市| 卢湾区| 成安县| 垫江县| 定远县| 前郭尔| 大竹县| 子洲县| 金寨县| 永仁县| 文成县| 广元市| 留坝县| 克拉玛依市| 沂源县| 屯门区| 云龙县| 剑河县| 疏勒县| 伊宁县| 金川县| 鄂州市| 象山县| 新源县| 武鸣县| 梨树县|