文件服务器

文件服务器

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;

public class FileServer extends Thread{
	
	private File file;
	private Socket s;
	
	
	public FileServer(File file, Socket s) {
		super();
		this.file = file;
		this.s = s;
	}

	@Override
	public void run() {
		System.out.println("已经连接客户端"+s.getInetAddress());
		BufferedInputStream bs=null;
		BufferedOutputStream bp=null;
		try {
			System.out.println("文件开始传输。。。。"+s.getInetAddress());
			bs=new BufferedInputStream(new FileInputStream(file));
			bp=new BufferedOutputStream(s.getOutputStream());
			byte[] b=new byte[1024];
			int len=0;
			while((len=bs.read(b))!=-1) {
				bp.write(b,0,len);
			}
			System.out.println("文件传输完成。。。。。"+s.getInetAddress());
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}finally {
			try {
				if (bs!=null) {
					bs.close();
				}
				if (bp!=null) {
					bp.close();
				}
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}
	public static void main(String[] args) throws IOException {
		File file=new File("F:\\迅雷下载\\功守道.mp4");
		//创建服务
		ServerSocket s=new ServerSocket(9999);
		System.out.println("启动服务。。。。");
		while(true) {
			//开始监听
			Socket st=s.accept();
			System.out.println(st);
			new FileServer(file, st).start();
		}
	}
}

客户端

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;

/**
 * 拷贝视频文件
 * @author LuFeng
 *100.64.159.105
 */
public class Client1 {
	public static void main(String[] args) throws UnknownHostException, IOException {
		Socket s=new Socket("100.64.159.105", 9999);

		
		BufferedInputStream bi=new BufferedInputStream(s.getInputStream());
		
		BufferedOutputStream bo=new BufferedOutputStream(new FileOutputStream("F:\\迅雷下载\\word1\\111.mp4"));
				
	   byte[] x=new byte[1024];
	   int len=0;
	   while((len=bi.read(x))!=-1) {
		   bo.write(x,0,len);
	   }
	   bo.close();
	   bi.close();

	}

}

猜你喜欢

转载自blog.csdn.net/qq_42290832/article/details/81265537
今日推荐