Java实现图片上传

简介:
[java]  view plain  copy
 print ?
  1. import java.io.*;  
  2. import java.net.*;  
  3. /* 
  4. *发送端 
  5. */  
  6. class  picsend  
  7. {  
  8.     public static void main(String[] args) throws Exception  
  9.     {  
  10.         if(args.length!=1)  
  11.         {  
  12.             System.out.println("请选择一张.jpg图片");  
  13.             return;  
  14.         }  
  15.         File file = new File(args[0]);  
  16.         if (!(file.exists() && file.isFile()))  
  17.         {  
  18.             System.out.println("图片有问题(不是文件或不存在)");  
  19.             return;  
  20.         }  
  21.         if(!file.getName().endsWith(".jpg"))  
  22.         {  
  23.             System.out.println("图片格式不对,请重新选择图片");  
  24.             return;  
  25.         }  
  26.         if(file.length()>1024*1024*10)  
  27.         {  
  28.             System.out.println("图片过大,无法上传");  
  29.             return;  
  30.         }  
  31.   
  32.         Socket s = new Socket("192.168.33.1",10006);//建立服务  
  33.         FileInputStream fis = new FileInputStream("d:\\美女.jpg");//读取图片  
  34.         OutputStream out = s.getOutputStream();//读到的写入  
  35.         byte [] b = new byte[1024];  
  36.         int len = 0;  
  37.         while((len = fis.read(b))!= -1)  
  38.         {  
  39.             out.write(b,0,len);  
  40.         }  
  41.         s.shutdownOutput();//标记结束  
  42.         InputStream in = s.getInputStream();//读服务端返回数据  
  43.         byte [] bin = new byte[1024];  
  44.         int num = in.read(bin);  
  45.         System.out.println(new String(bin,0,num));  
  46.         fis.close();  
  47.         s.close();  
  48.     }  
  49. }  
  50. class picThread implements Runnable   
  51. {  
  52.     private Socket s;  
  53.     picThread(Socket s)  
  54.     {  
  55.         this.s = s;  
  56.     }  
  57.     public void run()  
  58.     {  
  59.         int count = 1;  
  60.         String ip = s.getInetAddress().getHostAddress();//得到ip  
  61.         try  
  62.         {  
  63.             System.out.println(ip+".............connect");  
  64.             InputStream in = s.getInputStream();//读到流中数据  
  65.             File file = new File(ip+"("+(count)+")"+".jpg");  
  66.             while(file.exists())//判断文件是否存在  
  67.                 file = new File(ip+"("+(count++)+")"+".jpg");  
  68.   
  69.             FileOutputStream fos = new FileOutputStream(file);//写入  
  70.             byte [] b = new byte[1024];  
  71.             int len = 0;  
  72.             while((len = in.read(b))!=-1)  
  73.             {  
  74.                 fos.write(b,0,len);  
  75.             }  
  76.             OutputStream out = s.getOutputStream();//写入服务端传过来数据  
  77.             out.write("上传成功!".getBytes());  
  78.             fos.close();  
  79.             s.close();  
  80.         }  
  81.         catch (Exception e)  
  82.         {  
  83.             throw new RuntimeException("上传失败");  
  84.         }  
  85.               
  86.     }  
  87. }  
  88. /* 
  89. *服务端 
  90. */  
  91. class  picrece   
  92. {  
  93.     public static void main(String[] args) throws Exception  
  94.     {  
  95.         ServerSocket ss = new ServerSocket(10006);  
  96.         while(true)  
  97.         {  
  98.             Socket s = ss.accept();//接收  
  99.             new Thread(new picThread(s)).start();  
  100.         }  
  101.     }  
  102. }  


转载:http://blog.csdn.net/chaoyu168/article/details/49902909

目录
相关文章
|
26天前
使用ueditor实现多图片上传案例——实体类(Shopping.java)
使用ueditor实现多图片上传案例——实体类(Shopping.java)
18 0
|
8月前
|
前端开发 Java Spring
Java Spring MVC 图片上传操作详解
在现代的Web开发中,图片上传是一个非常常见的需求。而Java Spring MVC框架则是JavaWeb开发中常用的框架之一。本文将介绍如何在Java Spring MVC框架中实现图片上传操作。
87 0
|
Java
Java 实现汉字按照首字母分组排序
Java 实现汉字按照首字母分组排序
555 0
|
11月前
使用ueditor实现多图片上传案例——实体类(Shopping.java)
使用ueditor实现多图片上传案例——实体类(Shopping.java)
37 0
|
Java
uniapp多图片上传、预览,java后台接收
uniapp多图片上传、预览,java后台接收
633 0
|
分布式计算 Java Hadoop
Java实现单词计数MapReduce
本文分享实现单词计数MapReduce的方法
301 0
|
Java 数据安全/隐私保护
JAVA 实现上传图片添加水印(详细版)(上)
JAVA 实现上传图片添加水印(详细版)
914 0
JAVA 实现上传图片添加水印(详细版)(上)
|
存储 Java
Java实现图书管理系统
本篇文章是对目前Java专栏已有内容的一个总结练习,希望各位小主们在学习完面向对象的知识后,可以阅览本篇文章后,自己也动手实现一个这样的demo来加深总结应用已经学到知识并进行巩固。
373 0
Java实现图书管理系统
|
Java Windows Spring
java实现spring boot项目启动时,重启Windows进程
java实现spring boot项目启动时,重启Windows进程
474 0
|
数据可视化 Java
Java实现拼图小游戏(1)—— JFrame的认识及界面搭建
如果要在某一个界面里面添加功能的话,都在一个类中,会显得代码难以阅读,而且修改起来也会很困难,所以我们将游戏主界面、登录界面、以及注册界面都单独编成一个类,每一个类都继承JFrame父类,并且在类中创建方法来来实现页面
455 0
Java实现拼图小游戏(1)—— JFrame的认识及界面搭建