2017-02-23 8 views
1

sftp JSchを使用して、ローカルのWindowsマシンからリモートのWindowsマシンにファイルをコピーしようとしています。リモートマシンはcygwinですが、ファイルは転送されません。その間、何のエラーも投げていません。sftpファイルをリモートcygwinに転送

/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サーバーとして使用されているかを意味します。いくつかのsftpクライアントでテストしましたか? – matzeri

答えて

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

SFTPは、「/」はディレクトリの区切り文字であるファイル命名モデルを使用しています。代わりに「\」のパス区切りとして「/」を使用して試してみてください:

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

fileNameは、任意の「\」の文字が含まれている場合は、同様にそれらを変更する必要があります。

+0

私はこれを試しました。助けにもかかわらず。エラーはありません。ファイルは転送されません。 – gigi

+0

それは私を助けた。ありがとう! – gigi

関連する問題