JavaTCP上传图片代码实例

作者:凌晨两点半的太阳v 时间:2022-02-08 19:05:18 

1.客户端代码


public class UploadPicClient {
public static void main(String[] args) throws UnknownHostException, IOException {
// TODO Auto-generated method stub
//1,创建客户端socket
Socket s = new Socket("localhost",10088);
//2,读取客户端要上传的图片文件
FileInputStream fis = new FileInputStream("D:\\workspace\\day2019.1.17\\lanjing.jpg");
//3,获取Socket输出流,将读到的图片的数据发送到服务端
OutputStream out = s.getOutputStream();
byte[] buf = new byte[1021];
int len =0;
while((len=fis.read(buf))!=-1){
 out.write(buf,0,len);
}
//告诉服务端说:这边的数据发送完毕让服务端停止读取
s.shutdownOutput();
//读取服务端发回的内容
InputStream in = s.getInputStream();
byte[] bufIn = new byte[1024];
int lenIn = in.read(buf);
String text = new String (buf,0,lenIn);
System.out.println(text);
//关闭资源
fis.close();
s.close();
}
}

2.服务端代码


public class UploadPicSever {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
//创建tcp的socket服务端
ServerSocket ss = new ServerSocket(10088);
//获取客户端
Socket s = ss.accept();
String ip = s.getInetAddress().getHostAddress();
System.out.println(ip+".....connected");
//读取客户端发来的数据
InputStream in = s.getInputStream();
//将读取到的数据存储到一个文件中。
File dir = new File("D:\\workspace\\day2019.1.17");
if(!dir.exists()){
dir.mkdirs();
}
File file = new File(dir,"blue.jpg");
FileOutputStream fos = new FileOutputStream(file);
byte[] buf = new byte[1024];
int len = 0;
while ((len=in.read(buf))!=-1){
fos.write(buf,0,len);
}
//获取socket输出流,将上传成功字样发送给客户端
OutputStream out = s.getOutputStream();
out.write("上传成功".getBytes());
fos.close();
s.close();
ss.close();
}

上传后和上传前的图片:

JavaTCP上传图片代码实例

来源:https://blog.csdn.net/lzq1326253299/article/details/86528524

标签:java,javatcp,上传图片
0
投稿

猜你喜欢

  • Ajax登录验证实现代码

    2022-02-22 10:47:51
  • C#并行编程之信号量

    2023-10-08 19:26:54
  • windows系统配置Java开发环境变量

    2022-03-07 23:28:07
  • Intellij IDEA 配置Subversion插件实现步骤详解

    2023-11-03 10:09:04
  • Android编程之在SD卡上进行文件读写操作实例详解

    2022-04-15 10:29:50
  • SpringMVC bean加载控制的实现分析

    2023-08-08 18:46:19
  • Android开发实现判断通知栏是否打开及前往设置页面的方法

    2022-10-21 10:43:45
  • 简单了解JAVA public class与class区别

    2023-11-15 23:59:26
  • Java如何构造DSL方法重构

    2021-10-10 02:04:09
  • logback输出日志屏蔽quartz的debug等级日志方式

    2023-08-04 23:40:04
  • Android工具类Toast自定义图片和文字

    2021-11-15 08:22:44
  • Java实现单向链表反转

    2023-11-18 01:03:11
  • Spring boot 整合Logback过程示例解析

    2021-12-06 04:05:52
  • android实现密码框右侧显示小眼睛

    2023-01-26 19:54:59
  • Android Volley框架全面解析

    2022-05-11 15:33:15
  • C# 中的多态底层虚方法调用详情

    2023-11-23 16:06:58
  • Android实现倒计时的按钮的示例代码

    2021-10-17 14:45:11
  • Java接口RandomAccess全面了解

    2023-09-11 19:05:29
  • java实现压缩字符串和java字符串过滤

    2023-01-06 10:35:19
  • 基于ClasspathResource路径问题的解决

    2022-03-29 21:23:22
  • asp之家 软件编程 m.aspxhome.com