列出Docker中SFTP服务器上的文件

时间:2018-01-30 17:10:01

标签: java sftp

我尝试使用Docker直接从SFTP服务器访问文件。

以下作品:

void function_B(int * data) {
    // I am able to modify its content
}

void function_A(int * data) {
    const int *data_A = data;
    // data_A can't change anything...


    // I do not want to be able to modify the data nor its content here only pass the pointer to function B, so it can be changed there
    function_B(data);
    // Nor I want to be able to modify it here
}

这会将一个XML文件从Docker镜像上的preventDefault目录传输到import static java.nio.file.Paths.get; public File[] copyExtractFiles() { String command = "sftp -i case-loader/./docker/config -o StrictHostKeyChecking=no -P 2222 sftp@localhost:incoming/*.xml src/test/resources/extract"; Process p = new ProcessBuilder("bash", "-c", command).start(); p.waitFor(); BufferedReader stdOutput = new BufferedReader(new InputStreamReader(p.getInputStream(), Charset.forName(CHARSET_NAME))); BufferedReader stdError = new BufferedReader(new InputStreamReader(p.getErrorStream(), Charset.forName(CHARSET_NAME))); return get("src/test/resources/extract").toFile().listFiles(); } 目录,然后列出这些文件。

但是,我无权访问本地文件系统,因此希望直接在SFTP服务器上访问这些文件。这可能吗?我需要改变什么?

1 个答案:

答案 0 :(得分:0)

使用SFTP库,如JSch,而不是驱动外部控制台应用程序。然后,您就可以将文件列表下载到内存中。

Java - download from SFTP directly to memory without ever writing to file