需求:
客户端:数据来自键盘输入,886结束
服务端:接收到的数据写入文本文件
package WangLuoBianCheng;
import java.io.*;
import java.net.Socket;
/*
客户端:键盘输入数据,886结束
*/
public class HClientDemo3 {
public static void main(String[] args) throws IOException {
//创建Socket
Socket s = new Socket("192.168.0.102",10003);
// 键盘输入
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
// 发送数据,获取输出流
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
String line;
while ((line=br.readLine())!=null){
if ("886".equals(line)){
break;
}
bw.write(line);
bw.newLine();
bw.flush();
}
s.close();
}
}
package WangLuoBianCheng;
import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
/*
服务器:接收数据写到文本文件
*/
public class HSeverDemo3 {
public static void main(String[] args) throws IOException {
//创建SeverSocket
ServerSocket ss = new ServerSocket(10003);
//监听,返回Socket对象
Socket s = ss.accept();
//获取输入流
InputStream is = s.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
//数据写入文本文件
BufferedWriter bw = new BufferedWriter(new FileWriter("D:\\java_test\\heima106\\s.txt"));
String line;
while ((line=br.readLine())!=null){
bw.write(line);
bw.newLine();
bw.flush();
}
ss.close();
bw.close();
}
}
练习四:
客户端:数据来自于文本文件
服务端:接收到的数据写入文本文件
package WangLuoBianCheng;
import java.io.*;
import java.net.Socket;
/*
客户端:数据来自于文本文件
服务端:接收到的数据写入文本文件
*/
public class IClientDemo4 {
public static void main(String[] args) throws IOException {
//创建Socket
Socket s = new Socket("192.168.0.102",10004);
// 文本文件
BufferedReader br = new BufferedReader(new FileReader("D:\\java_test\\heima106\\s.txt"));
// 输出流写数据
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
String line;
while ((line=br.readLine())!=null){
bw.write(line);
bw.newLine();
bw.flush();
}
br.close();
s.close();
}
}
package WangLuoBianCheng;
import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
/*
客户端:数据来自于文本文件
服务端:接收到的数据写入文本文件
*/
public class ISeverDemo4 {
public static void main(String[] args) throws IOException {
//创建SeverSocket
ServerSocket ss= new ServerSocket(10004);
//监听,返回Socket
Socket s = ss.accept();
//数据输入流
BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));
// 写文本文件
BufferedWriter bw = new BufferedWriter(new FileWriter("D:\\java_test\\heima106\\a.txt"));
String line;
while ((line=br.readLine())!=null){
bw.write(line);
bw.newLine();
bw.flush();
}
bw.close();
ss.close();
}
}
练习5:
客户端:数据来自与文本文件,接收服务器反馈
服务器:接收到的数据写入文本文件,给出反馈
package WangLuoBianCheng;
import java.io.*;
import java.net.Socket;
/*
客户端:数据来与文本文件,接收服务器反馈
*/
public class JClientDemo5 {
public static void main(String[] args) throws IOException {
//创建Socket
Socket s = new Socket("192.168.0.102",10006);
//文本文件
BufferedReader br = new BufferedReader(new FileReader("D:\\java_test\\heima106\\s.txt"));
//输出流写数据
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
String line;
while ((line=br.readLine())!=null){
bw.write(line);
bw.newLine();
bw.flush();
}
//输出流数据写完的结束标志
s.shutdownOutput();
//接收服务器反馈
BufferedReader br1 = new BufferedReader(new InputStreamReader(s.getInputStream()));
String data=br1.readLine();
System.out.println("服务器反馈:"+data);
br.close();
s.close();
}
}
package WangLuoBianCheng;
import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
/*
接收到的数据,写入文本文件,给出反馈
*/
public class JSeverDemo5 {
public static void main(String[] args) throws IOException {
//创建
ServerSocket ss = new ServerSocket(10006);
Socket s = ss.accept();
//输入流接收数据
BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));
//文本文件
BufferedWriter bw = new BufferedWriter(new FileWriter("D:\\java_test\\heima106\\a.txt"));
String line;
while ((line=br.readLine())!=null){
bw.write(line);
bw.newLine();
bw.flush();
}
//给出反馈
//输出流发送数据
BufferedWriter bw1 = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
bw1.write("收到数据~");
bw1.newLine();
bw1.flush();
bw.close();
ss.close();
}
}