上一篇博客介绍了TCP通信的实现方法,现在再做一个通过TCP实现文本文件上传的实例。
照旧先是客户端。
System.out.println("上传客户端。。。。。。");
File file = new File("d:\\client.txt");
System.out.println(file.exists());
Socket s = new Socket("10.152.79.174", 10000);
BufferedReader bufr = new BufferedReader(new FileReader(file));
PrintWriter out = new PrintWriter(s.getOutputStream(), true);
String line = null;
while ((line = bufr.readLine()) != null) {
out.println(line);
}
s.shutdownOutput();
BufferedReader bufIn = new BufferedReader(new InputStreamReader(s.getInputStream()));
String str = bufIn.readLine();
System.out.println(str);
bufr.close();
s.close();
然后是服务端
System.out.println("上传服务端。。。。。。。。。");
ServerSocket ss = new ServerSocket(10000);
Socket s = ss.accept();
System.out.println(s.getInetAddress().getHostAddress()+".....connected");
BufferedReader bufIn = new BufferedReader(new InputStreamReader(s.getInputStream()));
BufferedWriter bufw = new BufferedWriter(new FileWriter("D:\\server.txt"));
String line = null;
while((line=bufIn.readLine())!=null){
bufw.write(line);
bufw.newLine();
bufw.flush();
}
PrintWriter out = new PrintWriter(s.getOutputStream(),true);
out.println("上传成功");
bufw.close();
s.close();
ss.close();
在运行时要注意在d盘下要有client.txt和server.txt文件,并且客户端文件要有内容。在运行时先运行服务端再运行客户端。