当前位置: 首页 > news >正文

农业 网站源码网站建设的工作总结

农业 网站源码,网站建设的工作总结,杭州网站建设h5,做医院网站公司吗文章目录整个功能的实现步骤客户端的实现步骤服务端的实现步骤示例代码整个功能的实现步骤 1.客户端使用本地的字节输入流读取被上传的文件数据 2.客户端使用网络字节输出流#xff0c;将读取到的文件数据发送给服务端 3.服务端使用网络字节输入流读取客户端发送过来的文件数… 文章目录整个功能的实现步骤客户端的实现步骤服务端的实现步骤示例代码整个功能的实现步骤 1.客户端使用本地的字节输入流读取被上传的文件数据 2.客户端使用网络字节输出流将读取到的文件数据发送给服务端 3.服务端使用网络字节输入流读取客户端发送过来的文件数据 4.服务端使用本地字节输出流将读取到的文件数据写入到指定的服务器本地文件中例如保存到目录 upload 下面 5.服务端使用网络字节输出流给客户端回写一段文字“上传成功” 6.客户端使用网络字节输入流读取服务端返回的数据 7.释放资源 注意 1.客户端和服务端对本地硬盘进行读写需要使用自己创建的 IO 流称为本地流 2.客户端和服务端之间进行数据读写必须使用 Socket 中提供的 IO 流称为网络流 客户端的实现步骤 1.创建一个本地字节输入流对象即 FileInputStream构造方法中绑定要读取的数据源 2.创建一个客户端对象即 Socket 对象构造方法中绑定 IP 和端口号 3.使用 Socket 对象的方法 getOutputStream获取网络字节输出流对象 4.使用 FileInputStream 对象的方法 read 读取要上传的文件数据 5.使用网络字节输出流对象的方法 write将读取到的文件数据发送到服务端 6.使用 Socket 对象的方法 getInputStream 获取网络字节输入流对象 7.使用网络字节输入流对象的方法 read 读取服务端回写的数据 8.释放资源FileInputStream、Socket 服务端的实现步骤 1.创建一个服务端对象即 ServerSocket并且向系统要指定的端口号 2.使用服务端对象的方法 accept 获取请求的客户端对象即请求连接的 Socket 对象 3.使用 Socket 对象的方法 getInputStream 获取网络字节输入流 4.判断服务端的目标目录路径是否存在若不存在要创建此目录 5.创建一个本地字节输出流对象即 FileOutputStream构造方法中要绑定写入数据的目标文件路径 6.使用网络字节输入流的方法 read 读取客户端发送过来的文件数据 7.使用 FileOutputStream 对象的方法 write 将读取到文件数据写入到服务器本地文件中 8.使用 Socket 对象的方法 getOutputStream 获取网络字节输出流对象 9.使用网络字节输出流对象的方法 write 给客户端发送一段文字文件上传成功 10.释放资源FileOutputStream、Socket、ServerSocket 示例代码 客户端代码 package priv.lwx.javaex.fileupload;import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.Socket;/*** ClassName TCPClient* Description 客户端读取本地的文件数据发送给服务端* Author liaowenxiong* Version 1.0* date 2021/9/5 下午4:50*/ public class TCPClient {public static void main(String[] args) throws IOException {// 1.创建一个本地字节输入流对象即 FileInputStream构造方法中绑定要读取的数据源FileInputStream fis new FileInputStream(/Users/liaowenxiong/desktop/test/1.jpeg);// 2.创建一个客户端对象即 Socket 对象构造方法中绑定 IP 和端口号Socket socket new Socket(127.0.0.1, 8888);// 3.使用 Socket 对象的方法 getOutputStream获取网络字节输出流对象OutputStream os socket.getOutputStream();// 4.使用 FileInputStream 对象的方法 read 读取要上传的文件数据byte[] bytes new byte[1024];int i 0;while ((i fis.read(bytes)) ! -1) {// 5.使用网络字节输出流对象的方法 write将读取到的文件数据发送到服务端os.write(bytes, 0, i); // i表示获取数组元素的个数}// 禁用此套接字的输出流此时会写入一个终止标记这样服务端就可以读取到此标记就不会出现阻塞的问题了// 终止标记表示输出流写出的数据已经没有了服务端解析到这个标记后就有关的线程就不会一直处于等待接收// 数据的状态socket.shutdownOutput();// 6.使用 Socket 对象的方法 getInputStream 获取网络字节输入流对象InputStream is socket.getInputStream();// 7.使用网络字节输入流对象的方法 read 读取服务端回写的数据到指定的字节数组中i is.read(bytes);// 读取几个字节就返回几// 将字节数组中的数据转换成字符串并打印到控制台System.out.println(new String(bytes, 0, i));// 8.释放资源FileInputStream、Socketfis.close();socket.close();} }服务端代码 package priv.lwx.javaex.fileupload;import java.io.*; import java.net.ServerSocket; import java.net.Socket;/*** ClassName TCPServer* Description 服务端读取客户端发送过来的文件数据并写入到指定的服务器本地的文件中* Author liaowenxiong* Version 1.0* date 2021/9/5 下午7:38*/ public class TCPServer {public static void main(String[] args) throws IOException {// 1.创建一个服务端对象即 ServerSocket并且向系统要指定的端口号ServerSocket server new ServerSocket(8888);// 2.使用服务端对象的方法 accept 获取请求的客户端对象即请求连接的 Socket 对象Socket socket server.accept();// 3.使用 Socket 对象的方法 getInputStream 获取网络字节输入流InputStream is socket.getInputStream();// 4.判断服务端的目标目录路径是否存在若不存在要创建此目录File file new File(/Users/liaowenxiong/desktop/test/upload);if (!file.exists()) {file.mkdirs();}// 5.创建一个本地字节输出流对象即 FileOutputStream构造方法中要绑定写入数据的目标文件路径FileOutputStream fos new FileOutputStream(file File.separator 1.jpeg);// 6.使用网络字节输入流的方法 read 读取客户端发送过来的文件数据byte[] bytes new byte[1024];int i 0;while ((i is.read(bytes)) ! -1) {// 7.使用 FileOutputStream 对象的方法 write 将读取到文件数据写入到服务器本地文件中fos.write(bytes, 0, i);}// 8.使用 Socket 对象的方法 getOutputStream 获取网络字节输出流对象OutputStream ops socket.getOutputStream();// 9.使用网络字节输出流对象的方法 write 给客户端发送一段文字文件上传成功ops.write(文件上传成功.getBytes());// 10.释放资源FileOutputStream、Socket、ServerSocketfos.close();socket.close();server.close();}} 服务端的升级版本一 package priv.lwx.javaex.fileupload;import java.io.*; import java.net.ServerSocket; import java.net.Socket; import java.util.Random;/*** ClassName TCPServer* Description 服务端读取客户端发送过来的文件数据并写入到指定的服务器本地的文件中* 在 TCPServer 的基础上优化两个地方* 1.自定义文件名每次上传文件的文件名都不同* 2.让服务端一直处于监听状态这样就可以一直上传图片** Author liaowenxiong* Version 1.0* date 2021/9/5 下午7:38*/ public class TCPServer02 {public static void main(String[] args) throws IOException {// 1.创建一个服务端对象即 ServerSocket并且向系统要指定的端口号ServerSocket server new ServerSocket(8888);// 2.使用服务端对象的方法 accept 获取请求的客户端对象即请求连接的 Socket 对象// 通过死循环可以让服务端一直处于监听状态只要有客户端请求连接服务端就可以响应连接请求while (true) {Socket socket server.accept();// 3.使用 Socket 对象的方法 getInputStream 获取网络字节输入流InputStream is socket.getInputStream();// 4.判断服务端的目标目录路径是否存在若不存在要创建此目录File file new File(/Users/liaowenxiong/desktop/test/upload);if (!file.exists()) {file.mkdirs();}// 自定义文件名的规则String fileName System.currentTimeMillis() (new Random().nextInt(9) 1) .jpeg;// 5.创建一个本地字节输出流对象即 FileOutputStream构造方法中要绑定写入数据的目标文件路径FileOutputStream fos new FileOutputStream(file File.separator fileName);// 6.使用网络字节输入流的方法 read 读取客户端发送过来的文件数据byte[] bytes new byte[1024];int i 0;while ((i is.read(bytes)) ! -1) {// 7.使用 FileOutputStream 对象的方法 write 将读取到文件数据写入到服务器本地文件中fos.write(bytes, 0, i);}// 8.使用 Socket 对象的方法 getOutputStream 获取网络字节输出流对象OutputStream ops socket.getOutputStream();// 9.使用网络字节输出流对象的方法 write 给客户端发送一段文字文件上传成功ops.write(文件上传成功.getBytes());// 10.释放资源FileOutputStream、Socket、ServerSocketfos.close();socket.close();// 服务端不停止服务端资源不要释放// server.close();}}}服务端的升级版本二 package priv.lwx.javaex.fileupload;import java.io.*; import java.net.ServerSocket; import java.net.Socket; import java.util.Random;/*** ClassName TCPServer* Description 服务端读取客户端发送过来的文件数据并写入到指定的服务器本地的文件中* 在 TCPServer02 基础上优化* 使用多线程技术提高程序的效率有一个客户端上传文件就开启一个线程完成文件的上传* Author liaowenxiong* Version 1.0* date 2021/9/5 下午7:38*/ public class TCPServer03 {public static void main(String[] args) throws IOException {// 1.创建一个服务端对象即 ServerSocket并且向系统要指定的端口号ServerSocket server new ServerSocket(8888);// 2.使用服务端对象的方法 accept 获取请求的客户端对象即请求连接的 Socket 对象// 通过死循环可以让服务端一直处于监听状态只要有客户端请求连接服务端就可以响应连接请求while (true) {Socket socket server.accept();// 使用多线程技术提高文件上传的效率有一个客户端上传文件就开启一个线程完成文件的上传new Thread(new Runnable() {// run 方法里面完成文件数据的读取和写入Overridepublic void run() {FileOutputStream fos null;try {// 3.使用 Socket 对象的方法 getInputStream 获取网络字节输入流InputStream is socket.getInputStream();// 4.判断服务端的目标目录路径是否存在若不存在要创建此目录File file new File(/Users/liaowenxiong/desktop/test/upload);if (!file.exists()) {file.mkdirs();}// 自定义文件名的规则String fileName System.currentTimeMillis() (new Random().nextInt(9) 1) .jpeg;// 5.创建一个本地字节输出流对象即 FileOutputStream构造方法中要绑定写入数据的目标文件路径fos new FileOutputStream(file File.separator fileName);// 6.使用网络字节输入流的方法 read 读取客户端发送过来的文件数据byte[] bytes new byte[1024];int i 0;while ((i is.read(bytes)) ! -1) {// 7.使用 FileOutputStream 对象的方法 write 将读取到文件数据写入到服务器本地文件中fos.write(bytes, 0, i);}// 8.使用 Socket 对象的方法 getOutputStream 获取网络字节输出流对象OutputStream ops socket.getOutputStream();// 9.使用网络字节输出流对象的方法 write 给客户端发送一段文字文件上传成功ops.write(文件上传成功.getBytes());// 10.释放资源FileOutputStream、Socket、ServerSocket} catch (IOException e) {// System.out.println(e);e.printStackTrace();} finally {try {fos.close();socket.close();// 服务端不停止服务端资源不要释放// server.close();} catch (IOException e) {e.printStackTrace();}}}}).start();}}}
http://www.zqtcl.cn/news/440464/

相关文章:

  • 网站建设公司济宁网站转跳怎么做
  • 镇江网站设计多少钱企业网络部署方案
  • 建网站的公司浩森宇特wordpress登录缓存
  • 便宜建站空间战队头像在线制作免费
  • 做招聘网站赚钱吗厦门网站建设哪里好
  • 新乡网站建设哪家公司好阿里巴巴做国际网站多少钱
  • 怎么在悉尼做网站dede做手机网站
  • 企业网站模板免费下载品牌建设专家库推荐表
  • 辽宁智能网站建设推荐网络营销推广方案创意
  • 安阳做一个网站多少钱东营做网站公司
  • 深圳市罗湖网站建设百度自助建站官网
  • 网站开发安装环境网站建设销售话术
  • 网站权重网站栏目划分的原则
  • 国际网站建设的目的我的百度账号登录
  • 温州网站设计定制博客和网站的区别
  • 益阳建设网站wordpress加载图片慢
  • 网站官网阜新网站开发公司
  • 适合做网站的图片印刷公司网站模板
  • 南昌哪家网站建设最好网站建设的方法有
  • 东莞做网站 动点官网百度开户流程
  • 中力建设网站怎么做自己的门户网站
  • 做的网站必须放做音乐网站的目地
  • 网站备案下来以后怎么做网页万网创始人张向东
  • 怎么做网站官方电话品牌营销策划十大要点
  • 上海自适应网站深圳网络推广外包
  • 网站的建设模式是指什么时候开始外网视频网站做泥声控
  • 免费在线观看电影电视剧网站网站建设公司哪家好 在线磐石网络
  • 域名是建网站之前申请吗怎么查看网站开发语言
  • 网站建设业务的延伸性查企业信息查询平台官网免费
  • 网站如何制作的渭南网站建设推广