java网络编程小问题 求助大佬

题目要求服务器端向客户端发送一个文件 客户端将文件保存并反馈“发送成功”给服务器端 

我的代码如下 为啥没法将文件内容写入到客户端文件夹里 求大佬帮忙 

public class tcptest {
    @Test
    public void client() throws IOException {
        Socket socket=new Socket(InetAddress.getByName("127.0.0.1"),8990);

        InputStreamReader isr=new InputStreamReader(socket.getInputStream());
        BufferedReader br=new BufferedReader(isr);
        FileWriter fw=new FileWriter(new File("ClientData.txt"));


        String str=null;
        char i='1';

        while((str=br.readLine())!=null)
        {
            System.out.println("afhua");
            fw.write("aksnfdas");
            //fw.write(i+" "+str+'\n');
            i++;
        }
        System.out.println("knfkdsanf");

        BufferedOutputStream bos=new BufferedOutputStream(socket.getOutputStream());


        bos.write("接收成功".getBytes());

        fw.close();
        br.close();
        socket.close();
        bos.close();


    }
    @Test
    public void sever() throws IOException {

        ServerSocket ss=new ServerSocket(8990);

        Socket socket=ss.accept();

        OutputStreamWriter osw=new OutputStreamWriter(socket.getOutputStream());
        FileReader fr=new FileReader("SeverData.txt");
        BufferedReader br=new BufferedReader(fr);

          String str;

          while((str=br.readLine())!=null)
          {
              osw.write(str+'\n');
          }

          socket.shutdownOutput();
          BufferedInputStream bis=new BufferedInputStream(socket.getInputStream());
          ByteArrayOutputStream baos=new ByteArrayOutputStream();
          byte[] buffer=new byte[2];
          int len;
          while((len=bis.read(buffer))!=-1)
          {
              baos.write(buffer,0,len);
          }
        System.out.println(baos.toString());

          osw.close();
          br.close();
          socket.close();
          ss.close();
          bis.close();
          baos.close();
    }
}
public class Test2 {

  public static void main(String[] args) throws Exception {
    ServerSocket ss=new ServerSocket(8990);

    Socket socket=ss.accept();
    OutputStreamWriter osw=new OutputStreamWriter(socket.getOutputStream());
    BufferedReader br=new BufferedReader(new FileReader("ServerData.txt"));

    String str;
    while((str=br.readLine())!=null)
    {
      osw.write(str);
      osw.flush();
    }
    socket.shutdownOutput();

    Reader reader = new InputStreamReader(new BufferedInputStream(socket.getInputStream()));
    char[] buffer=new char[1024];
    int len;
    while((len=reader.read(buffer)) != -1) {
      System.out.println(new String(buffer, 0, len));
    }


  }

}

 

public class Test {

  public static void main(String[] args) throws Exception {
    Socket socket=new Socket(InetAddress.getByName("127.0.0.1"),8990);

    InputStreamReader isr=new InputStreamReader(socket.getInputStream());
    BufferedReader br=new BufferedReader(isr);
    FileWriter fw=new FileWriter("ClientData.txt");

    String str;
    while((str=br.readLine())!=null)
    {
      fw.write(str + "\n");
    }
    fw.flush();

    BufferedOutputStream bos=new BufferedOutputStream(socket.getOutputStream());
    bos.write("接收成功".getBytes());
    bos.flush();

    fw.close();
    br.close();
    socket.close();
    bos.close();
  }
}

做了一点调整,你对照着原来的代码看哪里改了吧