java实现服务器和客户端之间的文件传输

实现思路

一、客户端发文件:首先建立和服务器的连接,然后我们通过IO流来实现数据的传输,步骤:
1、通过服务器的IP地址和端口号实现和服务器的连接(这里不要忘记先开服务器哦)
2、获取本地的文件的地址,建立java和文件的连接。
3、获取文件输入流和数据输出流(注意:这里的输入和输出都是指对于java,文件输入流的对象名可以为fis,数据输出流的对象名可以为dos;反之,文件输出流fos,数据输入流dis,即和前者相反的过程)
4、写文件。
二、服务器收文件:
1、接收客户端建立连接的申请,生成一个socket对象。
2、赋予一个服务器端的文件地址(之后在写数据的时候如果文件不存在,则自动创建文件并写数据,若存在文件,则会覆盖原文件,如果要不覆盖可以这样改:fos = new FileOutputStream(file,true);)
3、获取数据输入流和文件输出流。
4、读文件。

代码实现

我在代码中实现了先发一段字符串再发一个完整的文件,文件前的字符串作为文件附带信息,作为文件的信息补充。在聊天室的编写中,可以用来补充文件的发送者和接受者信息。
1、客户端:

public class Client {
   
       
	 public static void main(String[] args){
   
   
	int length =0;
	FileInputStream fis = null;
        DataOutputStream dos = null;
        Socket socket = null; 
        OutputStream out =null;
        PrintWriter pw = null;
        byte[] sendByte = null;
		 try {
   
   
			socket = new Socket("localhost",7777);
			out = socket.getOutputStream();
			pw = new PrintWriter(out);
			System.out.println("连接到服务器成功");
			File file = new File("E:\\workspace\\mayifan\\src\\com\\myf\\clientTest1207\\tree.zip");
			fis = new FileInputStream(file)
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值