Socket客户端上传文件
来源:互联网 发布:mac有必要安装office 编辑:程序博客网 时间:2024/05/19 20:40
package cc12;//服务器端import java.net.*;import java.text.SimpleDateFormat;import java.util.Date;import java.io.*;/** * * Socketserver客户端读取文件并保存本文件 * * * * */public class ServerFFFFF { private static ServerSocket ss = null;private static Socket s = null;private static File f = null;private static RandomAccessFile fw = null; public static void main(String[] args) {ServerFFFFF sk = new ServerFFFFF();sk.initServer(1234);sk.getFile();}/** * * 初始化服务器端 * @param port * * 服务器端要使用端口 * */ public void initServer(int port){ try { ss = new ServerSocket(port);s = ss.accept(); } catch (IOException e) { e.printStackTrace(); }} // SocketClient读取文件public void getFile() {byte[] b = new byte[1024];try { //定义输入流s.getInputStream(); InputStream in = s.getInputStream(); DataInputStream dis = new DataInputStream(new BufferedInputStream(in));//创建要保存文件SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd_HHmmss");//设置日期格式 String time=df.format(new Date());// new Date()为获取当前系统时间 //time="ccc";f = new File("d:/he/"+File.separator+time+".txt");System.out.println(f);fw = new RandomAccessFile(f, "rw");int num = dis.read(b);while (num != -1) { //向文件写入0~num字节 fw.write(b, 0, num);//跳num字节再写入文件 fw.skipBytes(num);//读取num字节 num = dis.read(b); } //关闭输入输流 dis.close();fw.close(); } catch (IOException e) {e.printStackTrace(); } } }
package cc12;//客户端import java.net.*;import java.io.*;/** * * SocketServerSocketClient接受文件名文件发送SocketServer端保存 * * * * */public class ClientFFFFF { private static File f = null;private static FileInputStream fis = null;private static DataOutputStream dout = null;private static Socket s = null;public static void main(String[] args) { ClientFFFFF sc = new ClientFFFFF();sc.connectSocketServer(1234);sc.sendFile("d:/he/lizhi.txt");} /** * * * 连接服务器端 * * @param port * * 要连接服务器SocketServer端口 **/ public void connectSocketServer(int port) { try { s = new Socket(InetAddress.getLocalHost(), port); } catch (UnknownHostException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace();} } // 发送文件 public void sendFile(String str) { byte[] b = new byte[1024];f = new File(str); try { //数据输流 dout = new DataOutputStream(new BufferedOutputStream(s.getOutputStream())); //文件读入流fis = new FileInputStream(f);int n = fis.read(b); while (n != -1) { //向网络写入数据 dout.write(b, 0, n); dout.flush(); //再读取n字节 n = fis.read(b); } //关闭流 fis.close();dout.close();} catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }}
0 0
- Socket客户端上传文件
- 基于Socket上传客户端
- python socket上传文件的服务端和客户端实现
- python socket上传文件的服务端和客户端实现
- Python socket 上传文件的服务端和客户端
- Python socket上传文件的服务端和客户端实现
- Tcp从Socket客户端上传文件到ServerSocket服务端
- 客户端文件的上传
- 客户端文件上传分享
- Socket 上传/下载文件
- socket上传图片文件
- socket文件上传
- php socket上传文件
- Socket 上传文件
- 利用socket上传文件
- socket上传文件
- java基于TCP协议的Socket客户端文件上传与下载
- Socket实例之客户端向服务端数据库上传文件UI版
- ssh中“Host key verification failed.“的解决方案
- 如何在NCBI实现大批量数据的一一对应
- leetcode 刷题之路 32 Merge Intervals
- 百度轻应用开放平台
- x210v3 u-boot2014.01 成功添加单板
- Socket客户端上传文件
- Linux下的输入/输出重定向
- 用工厂方法(Factory Method)和 单例模式(Singleton)实现抽象工厂(Abstract Factory)
- UVa 164 - String Computer
- 百度员工离职总结:如何做个好员工
- Android网络连接判断与处理
- 【Qt编程】基于Qt的词典开发系列<十二>调用讲述人
- C++中 vector结合迭代器实现增删操作!
- hybrid app