mas*_*boo 5 java byte stream filestream camel-ftp
目前在我的代码中,我从数据库获取数据,然后从数据中写入一个文件。我有这种骆驼路线和工作解决方案:-
private static final String INPUT_FILE_DIRECTORY_URI = "file:" + System.getProperty("user.home")
+ "/data/cdr/?noop=false";
private static final String SFTP_SERVER = "sftp://" +System.getProperty("user.name")
+ "@sftp_server_url/data/cdr/?privateKeyFile=~/.ssh/id_rsa&passiveMode=true";
from(INPUT_FILE_DIRECTORY_URI)
.streamCaching()
.log("Sending file to local sftp")
.to(SFTP_SERVER);
Run Code Online (Sandbox Code Playgroud)
我不想在本地磁盘中写入文件。相反,我想将文件数据直接写入SFTP服务器。我不知道该怎么办?但我想应该是可以做到的。你能告诉我这可能吗?如果是,该怎么做?
我设法用另一种方式解决了这个问题。它更适合我的特定问题。
byte[] csvData = csvStringBuilder.toString().getBytes();
Routes.withProducer(producer)
.withHeader(Exchange.FILE_NAME, myCsvFile.csv)
.withBody(csvData)
.to(SFTP_SERVER).request(byte[].class);
Run Code Online (Sandbox Code Playgroud)