BufferedReader클래스의 readLine()
큰모음
안녕하세여;;; 더운데 코딩하시느라 고생덜이 많으시네여 ㅋㅋ;;
다름이 아니라 궁금점이 있어서여;;
네트워크파트공부하면서 채팅프로그램을 짜구있는데여;;
bufferedReader클래스의 readLine()메소드가 좀 의아해서여;;
readLine()이 한줄 읽어들이는거잖아여;;
.txt등등의 파일에서는 String str=버퍼리더클래스객체.readLine(); 하면 파일속의 한라인내용이 str에저장되던데요....
이상한게...
클라이언트-서버 프로그램에서 Socket을 통해 서버에 접속한다음에;;
클라이언트에서는 버퍼라이터클래스객체.write(hello);-이렇게 해서
서버쪽에데이터를 보낸후,서버쪽에서는 String str=readLine()해서 읽어들이려니까 에러가 나더라고요;;;
그래서 read(char[] c) 이렇게 스트림에서 읽어들인걸 c배열에 저장하니까 정상적으로 읽어들이구요;;;
설명좀 부탁드립니다;;
왜 파일스트림을 통해 읽어들일때는 readLine()이 되는데 왜 네트워크스트림를 통해서는 에러가 나는지 ^^
-
사라
아;; 그런게 이었군요;; 두분모두 답변 감사합니다 ^^
-
한길찬
readLine() method는 LF(line feed)가 있는 곳까지 읽어내게 됩니다. write할 때 위에서 말한 것처럼 \\n을 넣어 쓰게되면 그곳까지 읽어내게 되죠. 만약 BufferedWriter를 사용한다면 flush()하는 것도 잊지마세요~~
-
보르미
write( \hello\\n\ ) ; 해 보세요