2017-02-23 4 views
1

sftp JSch을 사용하여 로컬 Windows 컴퓨터에서 원격 Windows 컴퓨터로 파일을 복사하려고합니다. 원격 컴퓨터에 cygwin이 있지만 파일이 전송되지 않습니다. 그 동안 오류가 발생하지 않습니다.sftp 원격 Cygwin으로 JSch 파일을 전송

/cygdrive/d/과 같은 다른 대상 경로 형식으로 시도했으며 d://도 시도했습니다.

String destination = "/cygdrive/d/Test1"; 
String source = "D:\\Test"; 

List<String> files = NFileUtils.listFiles(source); 
for (String f : files) { 
    String fileName = NFileUtils.getFilename(f); 
    try { 
     sftp.put(f, destination + "\\" + fileName); 
    } catch (Exception e) { 
     System.out.println(e); 
    } 
} 
+0

서버 sftp가 cygwin 쪽에서 사용됩니까? – matzeri

+0

자사의 Windows 컴퓨터에서 – gigi

+0

어떤 소프트웨어가 SFTP 서버로 사용되는 뜻. 당신은 일부 클라이언트와 그것을 테스트 해 봤니? – matzeri

답변

1
sftp.put(f, destination + "\\" + fileName); 

SFTP는 "/"는 디렉토리 분리 문자있는 파일 이름 지정 모델을 사용합니다. 사용해보십시오 "/"대신 "\"의 경로 구분 기호로 :

sftp.put(f, destination + "/" + fileName); 

fileName 어떤 "\"문자가 포함 된 경우, 당신은뿐만 아니라이를 변경해야합니다.

+0

나는 이것을 시도했다. 도움이되지 않는 것조차도. 오류는 없다.하지만 파일은 전송되지 않는다. – gigi

+0

그것은 나를 도왔다. 고마워! – gigi