linux系统假如开启了ssh服务linux windows 文件传输,就可以在windows系统上通过winscp顾客端来传输文件了中国linux,而java语言中,也可以类似scp顾客端那样,实现文件传输linux windows 文件传输美国linux主机,我们须要利用ch.ethz.ganymed/ganymed-ssh2/build210这个依赖。

我们在maven项目中加入上面提及的ssh2的依赖:

代码示例:

package com.xxx.ssh2;
import java.io.InputStream;
import ch.ethz.ssh2.Connection;
import ch.ethz.ssh2.SCPClient;
import ch.ethz.ssh2.Session;
public class SSH2App {
 private static final String host = "192.168.56.202";
 private static final String username = "root";
 private static final String password="root";
 private static final Connection conn = new Connection(host);
 
 private static boolean isAuthed(){
  try {
   return conn.authenticateWithPassword(username, password);
  } catch (Exception e) {
   e.printStackTrace();
  }
  return false;
 }
 
 public static void putFile(String localFile,String remoteTargetDirectory){
  try {
   conn.connect();
   if(isAuthed()){
    SCPClient scpClient = conn.createSCPClient();
    scpClient.put(localFile, remoteTargetDirectory);
    System.out.println("upload file successfully.");
   }else{
    System.out.println("authentication fail.");
   }
  } catch (Exception e) {
   e.printStackTrace();
  }finally{
   conn.close();
  }
 }
 
 public static void exec(String command){
  try {
   conn.connect();
   if(isAuthed()){
    Session session = conn.openSession();
    session.execCommand(command);
    InputStream input = session.getStdout();
    byte[] data = new byte[1024];
    input.read(data);
    String result = new String(data,0,data.length);
    System.out.println(result);
   }else{
    System.out.println("authentication fail.");
   }
  } catch (Exception e) {
   e.printStackTrace();
  }finally{
   conn.close();
  }
 }
 
 public static void main(String[] args) {
  putFile("C:UsersAdministratorDownloadsjson.png", "/root/upload/");
  exec("ls /root/upload");
 }
}
登录后复制

运行这段代码,结果如下:

文件上传成功,linux服务器上目录/root/upload下也会有了这个文件。

scp顾客端不光是java语言可以实现,例如node也可以实现。node有个依赖模块scp2,它也可以实现windows上scp传输文件到linux。

以上就是java语言中实现文件传输的依赖:代码示例:运行的详细内容,更多请关注慧达安全导航其它相关文章!

点赞(0)

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部