JAVA信息传送代码之下载图片

embedded/2024/9/24 6:29:40/

JAVA信息传送代码之下载图片

java">package xin.week1.day3;
import org.junit.Test;import java.io.*;
import java.net.InetAddress;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.UnknownHostException;/*首先开启客户端服务
* 客户端下载服务端侧的图片*/public class tcpxiazai {@Testpublic void server() {ServerSocket ss = null;Socket socket = null;FileInputStream fis = null;OutputStream os = null;try {ss = new ServerSocket(9090);    //定义端口socket = ss.accept();fis = new FileInputStream(new File("Java.jpg"));    //客户端图片os = socket.getOutputStream();byte[] b = new byte[1024];int len;while ((len = fis.read(b)) != -1) {os.write(b, 0, len);}socket.shutdownOutput();} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();} finally {if (os != null) {try {os.close();} catch (IOException e) {
// TODO Auto-generated catch blocke.printStackTrace();}}if (fis != null) {try {fis.close();} catch (IOException e) {
// TODO Auto-generated catch blocke.printStackTrace();}}if (socket != null) {try {socket.close();} catch (IOException e) {
// TODO Auto-generated catch blocke.printStackTrace();}}if (ss != null) {try {ss.close();} catch (IOException e) {
// TODO Auto-generated catch blocke.printStackTrace();}}}}//客户端@Testpublic void client() {Socket socket1 = null;FileOutputStream fos = null;InputStream is = null;try {//匹配服务端IP+端口socket1 = new Socket(InetAddress.getByName("127.0.0.1"), 9090);//图片下载位置fos = new FileOutputStream(new File("E:\\lj\\Java.jpg"));is = socket1.getInputStream();byte[] b = new byte[1024];int len;while ((len = is.read(b)) != -1) {fos.write(b, 0, len);}System.out.println("下载成功");} catch (UnknownHostException e) {e.printStackTrace();} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();} finally {if (fos != null) {try {fos.close();} catch (IOException e) {
// TODO Auto-generated catch blocke.printStackTrace();}}if (fos != null) {try {is.close();} catch (IOException e) {
// TODO Auto-generated catch blocke.printStackTrace();}}if (fos != null) {try {socket1.close();} catch (IOException e) {
// TODO Auto-generated catch blocke.printStackTrace();}}}}
}

在这里欢迎大家的点赞、关注、评论,以此来促进大家互相学习交流,同时可以让新加入的小伙伴更快的了解新知识!!!

文章内容如有侵权,请联系作者进行删除

≧◠◡◠≦ 1分2分都是爱,感谢已经打赏的老板,和正在打赏的老板们 ≧◠◡◠≦


http://www.ppmy.cn/embedded/19294.html

相关文章

webpack和vite

webpack 是一个模块打包工具,使得工程中的各种资源能够被打包成一个整体的bundle.js文件。Webpack具有很高的可配置性和灵活性,使得开发者可以使用各种插件和配置文件来优化它们的工作流程。Webpack适用于大型、复杂的项目,它可以处理多种不…

前端开发攻略---在Vue3中对ElementPlus中的dialog组件进行二次封装

1、演示 2、子组件 在component文件夹下面新建一个文件夹&#xff0c;我这里是myDialog&#xff0c;在 myDialog文件夹创建index.vue文件。 <template><el-dialogv-model"visible":title"title":width"width":fullscreen"fullscre…

Cocos Creator 声音管理模块SoundMgr详解

前言 Cocos Creator 是一款用于开发2D和3D游戏的跨平台游戏引擎&#xff0c;它提供了丰富的功能和工具&#xff0c;使开发者能够快速开发出高质量的游戏。在游戏开发中&#xff0c;声音是一个非常重要的元素&#xff0c;可以增强游戏的氛围和互动性。为了更好地管理游戏中的声…

Transformer实战 单词预测

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f366; 参考文章&#xff1a;TensorFlow入门实战&#xff5c;第3周&#xff1a;天气识别&#x1f356; 原作者&#xff1a;K同学啊|接辅导、项目定制 一、定义模型 from tempfile import Tempor…

【React】CSS 局部样式

书写 CSS 的时候&#xff0c;如果 CSS 文件名包含 module&#xff0c;那么说明该 CSS 是一个局部 CSS 样式文件&#xff0c;类似于 vue 中的 scoped。 .avatarContainer {width: 40px;height: 40px;border-radius: 50%;background: rgb(213, 226, 226); }import styles from ..…

J1.数学建模 Python机器学习介绍

1.基本操作 命令行&#xff1a;代码执行的地方脚本文件&#xff08;.m&#xff09;&#xff1a;敲代码的地方实时脚本文件&#xff08;.mlx&#xff09;&#xff1a;代码执行结果和代码放在一起&#xff0c;可以插入图片…类似小word运行节&#xff1a;实时脚本文件的功能&…

Websocket

javaspring实现步骤 1.直接使用websocket页面作为Websocket客户端 2.导入WebSocket的Maven坐标 3.导入WebSocket服务端组件WebSocketServer&#xff0c;用于和客户端建立连接 4.导入配置类WebSocketConfiguration&#xff0c;注册WebSocket的服务端组件 5. 导入定时任务类WebS…

人机交互系统文本分类 text classification环节源码(E-commerce)

我把pre-trained model 下载到了本地 效果如下&#xff08;到时候把代码中的sequence 和labels换成自己的text和分类就行了。&#xff09;&#xff1a; 源码见链接&#xff1a; https://download.csdn.net/download/qqqweiweiqq/89211553