客户端只用到Socket类
public class UploadTextClient {
public static void main(String[] args) throws IOException{
Socket s = new Socket("192.168.31.168", 10005);
BufferedReader br = new BufferedReader(new FileReader("files/a.txt"));
PrintWriter pw = new PrintWriter( s.getOutputStream(),true);
String str = null;
while( (str=br.readLine())!=null){
pw.println(str);
}
s.shutdownOutput();
BufferedReader br2 = new BufferedReader( new InputStreamReader(s.getInputStream()) );
String info = br2.readLine();
System.out.println("server:"+info);
s.close();
}
}
服务器端刚开始是用到ServerSocket, 再通过server.accept()拿到客户端的socket, 进而通过socket和客户端通讯
public class UploadTextServer {
public static void main(String[] args) throws IOException {
ServerSocket server = new ServerSocket(10005);
Socket ss = server.accept();
BufferedReader br = new BufferedReader(new InputStreamReader(ss.getInputStream()));
PrintWriter pw = new PrintWriter( new FileWriter("files\\abc.txt"),true);
String str=null;
while((str=br.readLine())!=null){
pw.println(str);
}
PrintWriter pw2 = new PrintWriter( ss.getOutputStream(),true);
pw2.println("上传成功!");
ss.close();
server.close();
}