/*
* 需求:
* 客户端不断键盘录入数据(BufferedReader)自定义结束条件
* 服务器端将数据输出在文本文件上!
* */
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.InetAddress;
import java.net.Socket;
public class ClientTest {
public static void main(String[] args) throws IOException {
//创建客户端的Socket
Socket s=new Socket(InetAddress.getByName("WL"),888);
//键盘录入
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
// 封装通道流
BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
String line=null;
while((line=br.readLine())!=null) {
//自定义条件结束
if("over".equals(line)) {
break;
}
bw.write(line);
bw.newLine();
bw.flush();
}
// 释放资源
s.close();
}
}
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;
//服务器端将数据输出在文本文件上
public class ServeDemo {
public static void main(String[] args) throws IOException {
// 创建服务器端的Socket对象
ServerSocket ss=new ServerSocket(888);
// 监听
Socket s=ss.accept();
//封装通道内字节输入流
BufferedReader br=new BufferedReader(new InputStreamReader(s.getInputStream()));
// 创建BufferedWriter对象
BufferedWriter bw=new BufferedWriter(new FileWriter("a.txt"));
// 一次读取一行
String line=null;
while((line=br.readLine())!=null) {
bw.write(line);
bw.newLine();
bw.flush();
}
//释放资源
bw.close();
ss.close();
}
}