客户端发送:
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.net.*;
import java.text.SimpleDateFormat;
import java.util.Date;
public class FTClient_Sender extends Thread {
private Socket socket;
public FTClient_Sender(String ip,int port)
{
try
{
socket = new Socket(ip,port);
}
catch(Exception e)
{
}
}
public void sendFile(String path)
{
try
{
File f = new File(path);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String startTime = sdf.format(new Date());
System.out.println("start transfer");
FileInputStream fis = new FileInputStream(f);
byte[] buffer = new byte[1024];
int cnt = 0;
//OutputStream os = socket.getOutputStream();
DataOutputStream ps = new DataOutputStream(socket.getOutputStream());
while((cnt=fis.read(buffer))>=0) {
ps.write(buffer,0,cnt);
}
ps.close();
fis.close();
String endTime = sdf.format(new Date());
System.out.println("Complete");
}
catch(Exception e)
{
}
}
}
服务器接收端:
import java.io.BufferedInputStream;
import java.io.DataInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.net.*;
public class FTServer_Receiver extends Thread {
private ServerSocket server;
private String savaPath;
public void setSavePath(String savePath)
{
this.savaPath = savePath;
}
public FTServer_Receiver(int port)
{
try {
server = new ServerSocket(port);
} catch (IOException e) {
e.printStackTrace();
}
}
public void run()
{
while(true)
{
try {
Socket s = server.accept();
System.out.println("accept Socket");
saveFile(s,savaPath);
} catch (IOException e) {
e.printStackTrace();
}
}
}
private void saveFile(Socket s,String savePath)
{
try
{
System.out.println("start transfer");
OutputStream os = new FileOutputStream(savePath);
DataInputStream dis = new DataInputStream(new BufferedInputStream(s.getInputStream()));
dis.readByte();
byte[] buffer = new byte[1024];
int cnt = 0;
while((cnt=dis.read(buffer))>=0) {
os.write(buffer,0,cnt);
}
os.close();
dis.close();
System.out.println("Complete");
}
catch(Exception e)
{
}
}
}
浙公网安备 33010602011771号