2014-11-01 2 views
0

특정 포트 번호에서 수신 대기하는 java로 작성된 서버가 있습니다. 또한이 서버에 연결하여 통신하는 Objective-C 클라이언트가 있습니다. 통신은 정상적으로 작동합니다. 이제 터미널에서 objective-c 클라이언트의 출력을 가져 와서 java 서버가 만든 파일에 넣어야합니다. 어떻게해야합니까? 일반 FileWriter 기능은 작동하지 않는 것 같습니다. 아래는 내가 가지고있는 서버의 일부입니다.목표 -C 클라이언트의 콘솔 출력을 서버의 파일에 작성

+0

어떻게 작동합니까? 오류 메시지가 나타 납니까? 빈 파일을 만들거나 무엇을 만드나요? –

+0

빈 파일을 만듭니다 ... 파일에 아무 것도 쓰지 않습니다 – vasupradha

답변

0

클라이언트에서 한 줄을 읽는 것부터 시작하지만, 콘솔에서 입력을 받아 파일에 쓰도록하십시오. 당신은 콘솔 물건을 삭제하고 inputLine 대신에서 읽어야

// Get the client message 
while((inputLine = bufferedReader.readLine()) != null) { 
    System.out.println(inputLine); 

    //read a line from the console 
    File file = new File("./user_statistics.txt"); 
    if(!file.exists()){ 
     file.createNewFile(); 
    } 

    //create an print writer for writing to a file 
    fileWriter = new FileWriter(file); 
    //output to the file a line 
    fileWriter.write(inputLine); 
} 

//close the file 
fileWriter.close(); 
serverSocket.close(); 

을 덧붙여 : 성능에 대해 걱정하는 경우, 대신 .readLine()의, bufferedReader.read(char[] cbuf, int off, int len) 방법을 사용해야합니다. 이에 시간 낭비 당신이 그것을 한 적이 방법 : 다음 줄의 끝이 어디 있는지 확인

  • 을;
  • String 객체를 생성하고 결국 삭제합니다.
  • 문자 인코딩 설정에 따라 문자 인코딩을 변경해야하는지 여부를 확인할 수 있습니다.
  • 최적의 크기보다 훨씬 낮은 버퍼를 사용합니다 (저는 몇 KB가 표준이라고 생각합니다).
+0

와우! 멋지다 ... 이것은 완벽하게 작동합니다 ... 나는 실수가 무엇인지 모른 채 머리를 긁적니다! 감사!!!!!! 그것은 지금 매력처럼 작동합니다! – vasupradha