- import java.io.*;
- import java.net.*;
- class Test{
- public static void main(String[] args)throws Exception{
- //1.定义Socket服务,并指定IP和端口。
- Socket s=new Socket("192.168.0.104",222);
- //2.因为需要获取文件,所以定义读取源。
- BufferedReader bufr=new BufferedReader(new FileReader("D:\\DD\\a.txt"));
- //3.因为需要让对方接收到,得需要定义发送流。BufferedWriter 或者 PrintWriter
- PrintWriter out=new PrintWriter(s.getOutputStream(),true);
- String line=null;
- while((line=bufr.readLine())!=null){
- out.println(line);//写入。
- }
- s.shutdownOutput();//关闭客户端输出流,相当于给输出流加个结束标记-1.
- //4.传输完成时,会有服务器端传输过来的提示,所以定义一个Socket接收读取流。
- BufferedReader bufrIn=new BufferedReader(new InputStreamReader(s.getInputStream()));
- String db=bufrIn.readLine();
- System.out.println(db);
- bufr.close();
- s.close();
- }
- }
- class Teacher{
- public static void main(String[] args)throws Exception{
- //1、创建ServerSocket、并指定端口。
- ServerSocket ss=new ServerSocket(222);
- //2、定义一个读取流,读取发送过来的数据。
- Socket s=ss.accept();
- BufferedReader bufr=new BufferedReader(new InputStreamReader(s.getInputStream()));
- //3.定义一个写入流,将读取过来的数据写入到目的地中。
- // BufferedWriter bufw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream("D:\\b.txt")));
- PrintWriter out=new PrintWriter(new FileWriter("D:\\b.txt",true));
- String line=null;
- while((line=bufr.readLine())!=null){
- out.println(line);
- // bufw.write(line);
- // bufw.newLine();
- }
- //4.客户端需要返回结果,所以定义一个Socket的输出流。
- BufferedWriter bufwOut=new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
- bufwOut.write("传送完成");
- bufr.close();
- // bufw.close();
- bufwOut.close();
- s.close();
- }
- }
复制代码
因为本人用的是Eclipes,所以没法测试打印! 求各位大虾们解下。
|