2012-03-16 2 views
2

while 루프에 데이터를 추가하는 while 루프가 있고 루프가 끝나기 전에 매번 닫힙니다. 파일을 닫은 후 루프를 끝내기 전에 해당 파일을 서버에 동기화 할 수 있습니까?while 루프에서 서버에 파일 동기화

//--- Pseudocode 
while(1){ 
    writer.append(data1); 
    writer.append(,); 
    writer.append(data2); 
    writer.append(,); 
    writer.flush(), 
    // --I need to run a command here that lets me sync the file to the server 
} 

홍조 후에 Runtime.exe()를 실행하려고합니다. 그게 좋은 생각일까요? 지연 될 수 있습니까?

+2

물론입니다. 시도해 보시고 문제가 생기면 다시 시도해보고 시도한 것과 실패한 것을 보여주십시오. 즉, 서버 통신이 느리기 때문에 성능이 좋지 않지만 다른 이야기입니다. – cdeszaq

+0

문제를 더 잘 설명해 주시겠습니까? 'Runtime.exec'을 사용하여 운영 체제 명령을 실행해야합니까? –

+0

제안 사항은 무엇입니까? – DesperateLearner

답변

1

질문을 올바르게 이해하면 ProcessBuilder을 사용해야합니다.

ProcessBuilder pb = new ProcessBuilder("scp", yourfileName, "[email protected]:/remote/folder"); 
Process p = pb.start(); 

그러나이 코드는 테스트하지 않았습니다.

당신은 다음과 같은 문제로 실행할 수 있습니다 : 당신이 인증하는 암호 (그리고 공개 키)를 사용하는 경우 scp 표준 입력에서 암호를 사용할 경우 나도 몰라,

  • .
+0

감사합니다. Danilo. 테스트해볼거야. 서버 인증은 어떻습니까? – DesperateLearner

+0

방금 ​​답변을 편집하고있었습니다. 비밀번호 인증에 문제가 있습니까? 공개 키 인증을 사용하고 있습니까? –

+0

오류 : 프로그램 "scp"를 실행할 수 없습니다. CreateProcess error = 2, 지정한 파일을 찾을 수 없습니다. 오류가 발생했습니다. ProcessBuilder pb = new ProcessBuilder ("scp", "C :/wamp/www /test.csv ","[email protected] "); – DesperateLearner

관련 문제