私は、クライアントから送信されたデータを保存するファイルをサーバーに保持させたい、このクライアントサーバープログラミングにこだわっています。コードは次のとおりです。
クライアント側:
public class ClientSide {
    public static void main(String[] argv) throws Exception {
        String sentence;
        BufferedReader inFromUser = new BufferedReader( new InputStreamReader(System.in));
        Socket clientSocket = new Socket("localhost", 6789);
        DataOutputStream outToServer = new DataOutputStream(clientSocket.getOutputStream());
        sentence = inFromUser.readLine();
        outToServer.writeBytes(sentence + '\n');            
        clientSocket.close();
}
}
サーバ側:
public class ServerSide {
     public static void main(String[] args) throws IOException {
            File file=new File("s1.txt");
            ServerSocket servsock = new ServerSocket(6789);
            Socket sock = servsock.accept();
            byte[] mybytearray = new byte[1024];
            InputStream is = sock.getInputStream();
            FileOutputStream fos = new FileOutputStream(file,true);
            BufferedOutputStream bos = new BufferedOutputStream(fos);
            int bytesRead = is.read(mybytearray, 0, mybytearray.length);
            bos.write(mybytearray, 0, bytesRead);
            bos.close();
            sock.close();
            BufferedReader write=new BufferedReader(new FileReader(file));
            String line;
            while((line=write.readLine())!=null) {
                System.out.println(line);
            }
     }
}
ここで、ユーザーがサーバーにデータを送信すると、たとえば「Vinayak」はサーバーに送信されるデータであり、最初の文字、つまり「V」のみがファイルに書き込まれます。コードで何かを見逃しているに違いなく、それを見つけることができません。また、ここで同様の質問をしましたが、望ましい結果が得られませんでした