我尝试使用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服务器上访问这些文件。这可能吗?我需要改变什么?
答案 0 :(得分:0)
使用SFTP库,如JSch,而不是驱动外部控制台应用程序。然后,您就可以将文件列表下载到内存中。
Java - download from SFTP directly to memory without ever writing to file