특정 포트 번호에서 수신 대기하는 java로 작성된 서버가 있습니다. 또한이 서버에 연결하여 통신하는 Objective-C 클라이언트가 있습니다. 통신은 정상적으로 작동합니다. 이제 터미널에서 objective-c 클라이언트의 출력을 가져 와서 java 서버가 만든 파일에 넣어야합니다. 어떻게해야합니까? 일반 FileWriter 기능은 작동하지 않는 것 같습니다. 아래는 내가 가지고있는 서버의 일부입니다.목표 -C 클라이언트의 콘솔 출력을 서버의 파일에 작성
0
A
답변
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
어떻게 작동합니까? 오류 메시지가 나타 납니까? 빈 파일을 만들거나 무엇을 만드나요? –
빈 파일을 만듭니다 ... 파일에 아무 것도 쓰지 않습니다 – vasupradha