![](https://cos-cdn.shuashuati.com/pipixue-web/2020-1231-2005-12/ti_inject-812ce.png)
有下面一段Server段程序,目的是能够同时服务多个客户,客户的请求是一句话(一个 String)。如果这个请求的内容是字符串"plain"的话,服务器仅将"hello"字符串返回给用户。否则将用户的话追加到当前目录的文本文件Memo.txt中(路径为"Memo.txt"),并向用户返回"OK"。注意Server并发的处理多用户,Memo.txt被共享,要求不能出现数据不一致。Server的程序如下文件Server.java: public class Server{ public static void main(String args[]){ MemoController memoController = new MemoController(); try{ ServerSocket ss = new ServerSocket(1999); while (true){ Socket s = ss.accept(); try{ UserThread t = new UserThread(s, memoController); t.start(); }catch(Exception e){ e.printStackTrace(); } } }catch(Exception e){ e.printStackTrace(); }finally{ memoController.close(); } } } 类UserThread程序如下: 文件UserThread.java: public class UserThread extends Thread{ Socket s; MemoController memo; public UserThread (Socket s, MemoController memo){ this.s = s; this.memo = memo; } public void run(){ try{ BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream())); PrintWriter pw = new PrintWriter(new OutputStreamWriter(s.getOutputStream())); String req = br.readLine(); if (req.equals("plain")){ pw.println("hello"); }else{ memo.append(req); pw.println("OK"); } pw.flush(); pw.close(); br.close(); s.close(); }catch(Exception e){ e.printStackTrace(); } } } 请根据题目的要求和现有的Server.java, UserThread.java的程序完成类MemoController.java的程序。