服务器端:
package com.huahua;
import java.io.BufferedOutputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
public class ServerThread extends Thread {
private Socket socket;
public ServerThread(Socket socket) {
super();
this.socket = socket;
}
public void run(){
try {
while(true){
DataInputStream in = new DataInputStream(socket.getInputStream());
//接收保存的路径
String path = "e:\\" + in.readUTF();
//接收的文件长度
long length = in.readLong();
//保存文件
DataOutputStream out = new DataOutputStream(new BufferedOutputStream(
new FileOutputStream(path)));
byte[] buf = new byte[1024];
int len = 0;
while((len=in.read(buf))!=-1){
out.write(buf,0,buf.length);
}
out.flush();
out.close();
in.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args){
try {
ServerSocket serverSocket = new ServerSocket(9999);
while(true){
new ServerThread(serverSocket.accept()).start();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
客户端:
package com.huahua;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.net.Socket;
public class Client{
public static void main(String[] args){
FileInputStream fin = null;
DataOutputStream out = null;
try {
Socket socket = new Socket("127.0.0.1",9999);
File file = new File("f:\\张惠妹 - 彩虹.wma");
out = new DataOutputStream(socket.getOutputStream());
//传送文件名称
out.writeUTF(file.getName());
out.flush();
//传送文件长度
out.writeLong(file.length());
out.flush();
//传送文件
fin = new FileIn