java 远程发送文件内容,使用Java将字符串内容传输到远程计算机中的文件

I need to place a string content in a remote file.

Ideally, I used to create a file in local and then transfer that file to remote machine.

Below is the code snippet I used, to copy file to remote.

ChannelSftp sftpChannel = (ChannelSftp) channel;

File file = new File(filePathWithName);//To read the file in local machine

try {

sftpChannel.cd(location);//Remote location

//Transferring the file to RemoteLocation.

sftpChannel.put(new FileInputStream(file), file.getName());//.(Here I don't want read a file.) //Instead I want copy a content which is in string variable, something like below two lines, to the remote location.

String content = "abcdefg";

sftpChannel.put(content,"someFileName")

} catch (SftpException e) {

e.printStackTrace();

} catch (FileNotFoundException e) {

e.printStackTrace();

}

sftpChannel.exit();

Is there any reference or documentation to overcome reading a file in local to create the same in remote machine.

-Thank You

解决方案

If I understand your problem correctly, you'd like to be able to copy some string data to a remote machine without reading a file locally. If you look at the javadoc, put accepts InputStream. So you do:

InputStream stream = new ByteArrayInputStream(content.getBytes());

sftpChannel.put(stream, "name.txt");

Note that you can also put(String dst) where you can write to the OutputStream that is returned. But I didn't show that.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值