import java.net.*;
import java.io.*;
public class UploadText {
public static void main(String[] args) {
// TODO 自动生成的方法存根
}
}
class TextClient{
public static void main(String[] args) throws Exception, IOException{
//定义客户端Socket对象,同时连接网址和端口
Socket s=new Socket("192.168.0.133",10007);
//通过打印流将数据写入socket管道中传输到服务器端
PrintWriter out=new PrintWriter(s.getOutputStream(),true);
//创建读入流对象缓冲区,如果a.txt是纯文本,即可使用BufferedReader bufr = new BufferedReader(new FileReader("a.txt"));
BufferedReader bufr=new BufferedReader(new InputStreamReader(new FileInputStream("a.txt")));
String line=null;
while((line=bufr.readLine())!=null){
//将流写入到socket中
out.println(line);
}
//告诉服务器输出完毕
s.shutdownOutput();
//创建新的读写流缓冲区,将服务器传来的讯息通过bufferedReader反馈到控制台
BufferedReader bufIn=new BufferedReader(new InputStreamReader(s.getInputStream()));
//将服务器传来的值输出到控制台
String line1=null;
while((line1=bufIn.readLine())!=null){
System.out.println("server:"+line1);
}
//关闭流
bufr.close();
s.close();
}
}
class TextServer{
public static void main(String[] args) throws Exception {
//定义服务器端ServerSocket对象,并绑定端口10007
ServerSocket ss = new ServerSocket(10007);
//定义套接字接收客户端传来的信息
Socket s=ss.accept();
//获取ip
//String ip=s.getInetAddress().getHostAddress();
//定义读入流缓冲区 记载客户端传来的信息
BufferedReader bufIn =new BufferedReader(new InputStreamReader(s.getInputStream()));
//定义打印流,将客户端传来的信息保存到服务器上
PrintWriter pw=new PrintWriter (new FileWriter("Servera.txt"),true);
String line=null;
while((line=bufIn.readLine())!=null)
{
pw.println(line);
}
//给客户端输入反馈信息
PrintWriter out=new PrintWriter(s.getOutputStream(),true);
//将上传成功返回到客户端
out.println("上传成功");
//关闭流
pw.close();
s.close();
ss.close();
}
}
java(7)--上传文本文件
最新推荐文章于 2023-11-27 10:44:40 发布