2016-09-17 3 views
3

로컬 클라이언트 클래스에 두 개의 String 메시지 ("첫 번째 메시지", "두 번째 메시지")를 클라이언트 클래스에 보냅니다. 클라이언트 클래스에서 BufferedReader의 ArrayList 코드에 넣고 인쇄하고 싶습니다.bufferedReader에서 arraylist에 이르는 문자열

void go() throws IOException { 
    Socket socket = new Socket("127.0.0.1",4242); 
    InputStreamReader streamReader = new InputStreamReader(socket.getInputStream()); 
    BufferedReader reader = new BufferedReader(streamReader); 
    ArrayList <String> list = new ArrayList<String>(); 
    while (reader.readLine() != null) { 
     list.add(reader.readLine()); 
    } 
    System.out.println(list); 
} 

하지만 얻을 모든 -입니다 그것은 잘못 무엇 선 "널 (null)"?

String line = null; 
while((line = reader.readLine()) != null) { 
    list.add(line); 
} 
+0

지금, 그 결과로 "널 (null)"을 인쇄되지 않습니다 주어진 코드를 제안했다. 다른 일이 벌어지고있다. –

답변

1

ciprianoss는 또한 올바르지 만 :에 당신이) .readLine를 (이렇게되면

0

가 더 이상 버퍼에 없습니다 어떤 도움에 매우 감사하게 될 것입니다, 당신의 while 루프를 변경 루프

while (reader.readLine() != null) { 
    list.add(reader.readLine()); 
} 

당신은 일단 동안 두 번이나

파일에서 읽고 다시 추가 직전에있다. ciprianoss로

list.add(reader.readLine()); 

String line; 
while((line = reader.readLine()) != null) 
{ 
    list.add(line); 
{