//TCP-上传文本文件
import java.io.*;
import java.net.*;
class TextClient
{
public static void main(String[] args) throws Exception
{
Socket s = new Socket("192.168.1.254",10006);
BufferedReader bufr = new BufferedReader(new FileReader("IPDemo.txt"));//缓冲读取流(文件读取流)
//这里的输出流会 送到 服务端,是否跟服务端关联,关键看参数里面是否带了(s.getOutputStream())
PrintWriter out = new PrintWriter(s.getOutputStream(),true);//向文本输出流打印对象的格式化表示形式。此类实现在 PrintStream 中的所有 print 方法。(自动刷新)
/*//拿时间戳作结束标记,关联Socket流
//DataOutputStream dos = new DataOutputStream(s.getOutputStream());
//long time = System.currentTimeMillis();
//out.println(time);
//dos.writeLong(time);*/
String line = null;//line作缓存
while ((line= bufr.readLine())!=null)//循环条件里面 缓冲读取流bufr调用readLine(),String readLine() 读取一个文本行。非空,则持续读取文本行
{
out.println(line);//向文本输出流out写数据line // void println(String x) // 打印 String,然后终止该行。
}
s.shutdownOutput();//关闭客户端的输出流,相当于给流中加入一个结束标记-1.
//返回值void, shutdownOutput()方法 禁用此套接字的输出流。
/*//out.println("over");//自定义结束标记
//dos.writeLong(time);*/
//输入流Socket流 接收服务端 数据,参数(s.getInputStream())
BufferedReader bufIn = new BufferedReader(new InputStreamReader(s.getInputStream()));
String str = bufIn.readLine();//变成字符串
System.out.println(str);//打印字符串
bufr.close();
s.close();
}
}
class TextServer
{
public static void main(String[] args) throws Exception
{
ServerSocket ss = new ServerSocket(10006);//服务端
Socket s = ss.accept();//等待客户端连接,获取客户端s
String ip = s.getInetAddres().getHostAddress();
System.out.println(ip="...connected");
DataInputStream dis = new DataInputStream(s.getInputStream());
long l = dis.readLong();
//网络输入流,读取客户端的数据, 返回值InputStream, Socket方法getInputStream() ,返回此套接字的输入流。
BufferedReader bufIn = new BufferedReader(new InputStreamReader(s.getInputStream()));
//这个输出流用来写入保存文件
PrintWriter out = new PrintWriter(new FileWriter("server.txt"),true);
String line = null;
while ((line= bufIn.readLine())!=null)
{
//if ("over".equals(line))//自定义结束标记
//if (time.equals(l))//自定义结束标记
//break;
out.println(line);
}
//输出流,返回给客户端的信息数据
PrintWriter pw = new PrintWriter(s.getOutputStream().true);
pw.println("上传成功");
out.close();
s.close();
ss.close();
}
}
TCP-上传文本文件
最新推荐文章于 2022-09-02 11:27:33 发布