服务器代码
public class Server {
static String homePath = System.getProperty("user.dir");
static String filePath = homePath + File.separator + "bb.txt";
public static void main(String[] args) throws IOException {
server();
}
static void server() throws IOException {
ServerSocket ss = new ServerSocket(8000);
System.out.println("服务器已开启!!!");
Socket sc = ss.accept();
//获得客户端的Ip地址
//获得IP地址
String ip = sc.getInetAddress().getHostAddress();
FileWriter fw = new FileWriter(filePath);
PrintWriter pw = new PrintWriter(fw, true);
InputStreamReader sr = new InputStreamReader(sc.getInputStream(), "GBK");
BufferedReader br = new BufferedReader(sr);
String line = null;
while (null != (line = br.readLine())) {
//写入文件
pw.write(line);
System.out.println(ip + ":" + line);
}
br.close();
pw.close();
ss.close();
}
}
客户端代码
package com.lanou3g.Day_7_27;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.InetAddress;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.Scanner;
public class Client {
final static String homePath = System.getProperty("user.dir");
final static String filePath = homePath + File.separator + "abc.txt";
static Scanner input = new Scanner(System.in);
public static void main(String[] args) {
connect("127.0.0.1", 8000);
}
static void connect(String ip, int port) {
try {
FileWriter fw = new FileWriter(filePath);
PrintWriter pw1 = new PrintWriter(fw, true);
String string = null;
Socket sc = new Socket(InetAddress.getByName(ip), port);
System.out.println("客户机已开启!!");
//输入信息写入文件
while (!"exit".equals((string = input.next()))) {
pw1.println(string);
}
PrintWriter pw = new PrintWriter(sc.getOutputStream());
FileReader fr = new FileReader(filePath);
BufferedReader br = new BufferedReader(fr);
String len = null;
//发送文件信息到服务器
while (null != (len =br.readLine() )) {
pw.println(len);
}
br.close();
pw.close();
sc.close();
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}