文件服务器
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();
}
}