파일 전송과 관련된 문제 입니다.

서버 측에서 다음과 같이 socket ouput stream을 열고,
pw = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket
     .getOutputStream())));

아래와 같이 파일을 읽어온 다음, 버퍼리더를 1024로 설정해 줬습니다.
FileInputStream fileInputStream = new FileInputStream(file);
   BufferedReader fileBufReader = new BufferedReader(
     new InputStreamReader(fileInputStream), 1024);

그래서 아래와 같이 설정해 주면 클라이언트 측으로 데이터가 날라 갈줄 알았는데 안되네요..
pw.write(fileBufReader.readLine());
pw.flush();

flush()를 쓰지 않으면 1024 버퍼 만큼 읽어 온 다음,

소켓 스트림으로 보내주는거 아닌가요?

BufferedReader에서 1024 만큼 데이터를 읽어 오면 write() 해주도록 구현 하고 싶습니다.

확실한건 클라이언트 측에서 잘못된건 100% 없다는 겁니다. 같은 루틴으로 다른 스레드 에서는

잘 도착 하거든요. 다른 스레드와의 차이는 다른 스레드는 문자 열이고 위 스레드는 파일을 읽어 온다는 겁니다.

문자열이랑 파일이랑 다른 클래스를 써줘야 한다면 어떤걸 써야 하는지요?

도움 부탁 드립니다.