Java学习之TCP上传图片
2015-03-28 21:16
417 查看
import java.io.*; import java.net.*; class Client2 { public static void main(String[] args) throws Exception { File file = new File(args[0]); if (!file.exists() || file.isDirectory()) { sopln("文件不存在或不是文件"); return; } if (!args[0].endsWith(".jpg")) { sopln("图片格式错误,请上传jpg格式!"); return; } if (file.length() >= 1024*1024*5) { sopln("图片过大!"); return; } Socket s = new Socket("192.168.1.100", 10086); FileInputStream fis = new FileInputStream(file); OutputStream os = s.getOutputStream(); InputStream is = s.getInputStream(); byte[] buf = new byte[1024]; int len = 0; while ((len=fis.read(buf)) != -1) { os.write(buf, 0, len); } s.shutdownOutput(); int num = is.read(buf); sopln(new String(buf, 0, num)); fis.close(); s.close(); } public static void sopln(Object obj) { System.out.println(obj); } } class Server2 { public static void main(String[] args) throws Exception { ServerSocket ss = new ServerSocket(10086); while (true) { Socket s = ss.accept(); new Thread(new PicThread(s)).start(); } } public static void sopln(Object obj) { System.out.println(obj); } } class PicThread implements Runnable { private Socket s; PicThread(Socket s) { this.s = s; } public void run() { try { String ip = s.getInetAddress().getHostAddress(); String name = s.getInetAddress().getHostName(); InputStream is = s.getInputStream(); int count = 1; File file = new File(name + ".jpg"); while (file.exists()) { file = new File(name + "(" + (count++) + ")" + ".jpg"); } FileOutputStream fos = new FileOutputStream(file); byte[] buf = new byte[1024]; int len = 0; while ((len=is.read(buf)) != -1) { fos.write(buf, 0, len); } OutputStream os = s.getOutputStream(); os.write("上传成功".getBytes()); fos.close(); s.close(); } catch (Exception e) { } } }
相关文章推荐
- Java-Socket TCP并发机制,处理多图片上传
- java TCP并发上传图片
- 【java基础:net】基于多线程的TCP图片上传客户端与服务端Demonstration
- Java学习—— 用 文件,文件名 ,文件流 转 字节 用于上传图片
- JAVA之旅(三十三)——TCP传输,互相(伤害)传输,复制文件,上传图片,多并发上传,多并发登录
- Java学习日记8:文件上传工具类的实现和服务器给客户端发送图片
- 11 java 王少飞-利用Tcp上传图片的例子
- Java网络编程--TCP文件上传、图片上传示例
- Java基础-网络编程(TCP-上传图片)
- Java基础24天--02--网络编程(TCP--客户端并发上传图片)
- JAVA 网络编程(TCP 上传图片)
- 学习Java Web开发[1]可上传图片的客户端开发
- Java基础知识强化之网络编程笔记13:TCP之TCP协议上传图片并给出反馈
- java 网络5 tcp 上传图片
- JAVA基础再回首(二十九)——TCP传输、上传文件、上传图片、多并发上传
- 黑马程序员 【】java学习之路——TCP(三)客户端上传文件到服务器
- JAVA学习笔记_使用Servlet3.0上传图片,无法使用part.getSubmittedFileName()方法解决
- 黑马程序员 Java练习-模拟TCP客户端并发上传图片
- 11级_Java_曹建波 9.13 Tcp实现上传文件和图片
- java基础知识10(TCP:客户端并发上传图片)