2012-09-07 1 views
-1

내 자바 방법은 SFTP를 통해 원격 서버에 연결하고 텍스트 파일에 문자열을 쓰고 예외없이 충돌 대부분 4355Bytes를 쓰고 난 후에. 즉 텍스트 파일은 특정 양의 문자/바이트에 도달 할 때까지 기록한 다음 방금 멈추게되지만이 방법이 실행될 때마다 발생하지는 않습니다. 예외는 발생하지 않지만이 메서드가 포함 된 봄 워크 플로가이 시점에서 중단됩니다.DataOutputStream.writeBytes (MyString의)는

메소드가있는 Java 클래스는 jar로 압축되어 있으며 Windows 서버의 OSGI 내에서 실행됩니다. 원격 서버는 Unix 기반입니다.

의견을 보내 주시면 감사하겠습니다.

업데이트 : mhan 제안한 , 나는 버퍼를 사용하고 문제를 해결 한 것 같다 :

BufferedOutputStream out = new BufferedOutputStream(channel.put(filename + "_")); 
out.write(messageText.getBytes()); 
+2

예외 또는 오류가 표시되지 않으면 예외가 발생하지 않고 기록되지 않는 것을 의미하지는 않습니다. 예외가 발생하지 않고 JVM 크래시가 발생하더라도 오류 보고서가 표시됩니다. –

답변

0

의견 try-catch 블록 및 캐치 예외 내부의 코드를 삽입, 제안한다. 내가 줄 수있는 추가 제안;

1) 버퍼를 도입하여 성능을 향상시킬 수 있는지 확인 하시겠습니까?

2) 쓰기 전에 원격 파일을 사용할 수 있는지 확인할 수 있습니까?

+0

try/catch 블록에 이미 내 코드가 있으므로 조사 할 별도의 문제입니다. 또한 각 파일에는 고유 한 이름 패턴이 있으므로 문제는 아닙니다. – evgeni