创建客户端发送文件
import java.io.*;
import java.net.Socket;
public class ClientDemo {
public static void main(String[] args) throws IOException {
Socket socket = new Socket("127.0.0.1",9100);
FileInputStream fs = new FileInputStream("C:\\Users\\Administrator\\Desktop\\测试文件夹\\图片.png");
BufferedInputStream bis = new BufferedInputStream(fs);
OutputStream os = socket.getOutputStream();
BufferedOutputStream bos = new BufferedOutputStream(os);
int data;
while ((data = bis.read()) != -1){
bos.write(data);
}
bos.flush();
socket.shutdownOutput();
BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String str;
while ((str = br.readLine()) != null){
System.out.println(str);
}
socket.close();
os.close();
bis.close();
}
}
创建服务端接收文件
import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
public class ServerDemo {
public static void main(String[] args) throws IOException {
ServerSocket ss = new ServerSocket(9100);
Socket socket = ss.accept();
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("C:\\Users\\Administrator\\Desktop\\目的地文件夹\\1.png"));
InputStream is = socket.getInputStream();
int data;
while ((data = is.read()) != -1){
bos.write(data);
}
PrintWriter pw = new PrintWriter(new OutputStreamWriter(socket.getOutputStream()));
pw.println("传输成功!");
pw.flush();
bos.close();
socket.close();
ss.close();
}
}