JAVA在服务器端和客户端传输图片和文件

上传人:s9****2 文档编号:489636984 上传时间:2023-08-25 格式:DOC 页数:7 大小:25.01KB
返回 下载 相关 举报
JAVA在服务器端和客户端传输图片和文件_第1页
第1页 / 共7页
JAVA在服务器端和客户端传输图片和文件_第2页
第2页 / 共7页
JAVA在服务器端和客户端传输图片和文件_第3页
第3页 / 共7页
JAVA在服务器端和客户端传输图片和文件_第4页
第4页 / 共7页
JAVA在服务器端和客户端传输图片和文件_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《JAVA在服务器端和客户端传输图片和文件》由会员分享,可在线阅读,更多相关《JAVA在服务器端和客户端传输图片和文件(7页珍藏版)》请在金锄头文库上搜索。

1、Java基于Socket文件传输示例1.服务器端package sterning;import java.io.BufferedInputStream;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.File;import java.io.FileInputStream;import .ServerSocket;import .Socket;public class ServerTest int port = 8821; void start() Socket s = null; try

2、 ServerSocket ss = new ServerSocket(port); while (true) / 选择进行传输的文件 String filePath = D:lib.rar; File fi = new File(filePath); System.out.println(文件长度: + (int) fi.length(); / public Socket accept() throws / IOException侦听并接受到此套接字的连接。此方法在进行连接之前一直阻塞。 s = ss.accept(); System.out.println(建立socket链接); Dat

3、aInputStream dis = new DataInputStream(new BufferedInputStream(s.getInputStream(); dis.readByte(); DataInputStream fis = new DataInputStream(new BufferedInputStream(new FileInputStream(filePath); DataOutputStream ps = new DataOutputStream(s.getOutputStream(); /将文件名及长度传给客户端。这里要真正适用所有平台,例如中文名的处理,还需要加工

4、,具体可以参见Think In Java 4th里有现成的代码。 ps.writeUTF(fi.getName(); ps.flush(); ps.writeLong(long) fi.length(); ps.flush(); int bufferSize = 8192; byte buf = new bytebufferSize; while (true) int read = 0; if (fis != null) read = fis.read(buf); if (read = -1) break; ps.write(buf, 0, read); ps.flush(); / 注意关闭s

5、ocket链接哦,不然客户端会等待server的数据过来, / 直到socket超时,导致数据不完整。 fis.close(); s.close(); System.out.println(文件传输完成); catch (Exception e) e.printStackTrace(); public static void main(String arg) new ServerTest().start(); 2.socket的Util辅助类package sterning;import .*;import java.io.*;public class ClientSocket private

6、 String ip; private int port; private Socket socket = null; DataOutputStream out = null; DataInputStream getMessageStream = null; public ClientSocket(String ip, int port) this.ip = ip; this.port = port; /* */* * 创建socket连接 * * throws Exception * exception */ public void CreateConnection() throws Exc

7、eption try socket = new Socket(ip, port); catch (Exception e) e.printStackTrace(); if (socket != null) socket.close(); throw e; finally public void sendMessage(String sendMessage) throws Exception try out = new DataOutputStream(socket.getOutputStream(); if (sendMessage.equals(Windows) out.writeByte(

8、0x1); out.flush(); return; if (sendMessage.equals(Unix) out.writeByte(0x2); out.flush(); return; if (sendMessage.equals(Linux) out.writeByte(0x3); out.flush(); else out.writeUTF(sendMessage); out.flush(); catch (Exception e) e.printStackTrace(); if (out != null) out.close(); throw e; finally public

9、DataInputStream getMessageStream() throws Exception try getMessageStream = new DataInputStream(new BufferedInputStream(socket.getInputStream(); return getMessageStream; catch (Exception e) e.printStackTrace(); if (getMessageStream != null) getMessageStream.close(); throw e; finally public void shutD

10、ownConnection() try if (out != null) out.close(); if (getMessageStream != null) getMessageStream.close(); if (socket != null) socket.close(); catch (Exception e) 3.客户端package sterning;import java.io.BufferedOutputStream;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.FileOutputStream;public class ClientTest private ClientSocket cs = null; private String ip = localhost;/ 设置成服务器IP

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 文学/艺术/历史 > 人文/社科

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号