欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

如何在Android 中實(shí)現(xiàn)scp操作

 更新時(shí)間:2021年03月17日 14:24:42   投稿:yxs  
這篇文章主要介紹了如何在Android 中實(shí)現(xiàn)scp操作,幫助大家更好的理解和學(xué)習(xí)使用Android,感興趣的朋友可以了解下

本文簡(jiǎn)單介紹用SSH庫(kù)ganymed-ssh2在Android中實(shí)現(xiàn)scp操作。

SSH

SSH是專為遠(yuǎn)程登錄會(huì)話和其他網(wǎng)絡(luò)服務(wù)提供安全性的協(xié)議,簡(jiǎn)單的說(shuō)就是一種網(wǎng)絡(luò)協(xié)議。是linux的標(biāo)準(zhǔn)配置。用于linux設(shè)備之間的通訊。

SCP

SCP是一種基于SSH完成加密拷貝文件的協(xié)議。使用SSH進(jìn)行身份認(rèn)證確保數(shù)據(jù)傳輸?shù)恼鎸?shí)性和可靠性。

SCP默認(rèn)通過(guò)TCP端口22運(yùn)行

SCP程序常用語(yǔ)法:

// 復(fù)制文件到主機(jī)
scp SourceFile user@host:directory/TargetFile


// 從主機(jī)復(fù)制文件
scp user@host:directory/SourceFile TargetFile
scp -r user@host:directory/SourceFolder TargetFolder
// 從主機(jī)復(fù)制文件
scp user@host:directory/SourceFile TargetFile
scp -r user@host:directory/SourceFolder TargetFolder

SFTP

SFTP也是基于SSH安全文件傳輸協(xié)議。不同于基于FTP,FTP基于Tcp使用明文傳輸用戶信息。安全性較差。

Android中使用SCP

  • 下載ganymed-ssh2 jar包
<!-- https://mvnrepository.com/artifact/ch.ethz.ganymed/ganymed-ssh2 -->
<dependency>
  <groupId>ch.ethz.ganymed</groupId>
  <artifactId>ganymed-ssh2</artifactId>
  <version>build210</version>
</dependency>

官方下載地址 http://www.ganymed.ethz.ch/ssh2/

public class Scp {

  private volatile static Scp scpInstance;

  private String user;
  private String pass;
  private String host;
  private Connection connection;
  private SCPClient scpClient;
  private Boolean isAuthed;

  private Scp(String user, String pass, String host){
    this.user = user;
    this.pass = pass;
    this.host = host;
  }

  public static Scp getScpUtilsInstance(String user, String pass, String host){

    if(scpInstance == null) {
      synchronized(Scp.class) {
        if(scpInstance == null) {
          scpInstance = new Scp(user,pass,host);
        }
      }
    }
    return scpInstance;
  }


  public void connect(){
    connection = new Connection(host);
    try {
      connection.connect();
      isAuthed = connection.authenticateWithPassword(user,pass);
      // scp 連接
      scpClient = connection.createSCPClient();
    } catch (IOException e) {
      e.printStackTrace();
      close();
    }
  }

  public void close(){
    connection.close();
    sftPv3Client.close();
  }

  public boolean getIsAuthed(){
    return isAuthed;
  }

  // 拷貝文件到服務(wù)器
  public void putFile(String filePath,String aimPath){
    try {
      if(scpClient != null){
        scpClient.put(filePath,aimPath);
      }
    } catch (IOException e) {
      e.printStackTrace();
    }
  }

 

}
Scp scp = Scp.getScpUtilsInstance("root","psd","192.168.199.3");
              scp.connect();
              if(scp.getIsAuthed()){
                for(int i = 0;i<data.getLayers();i++){
                  scp.putFile(SlcParser.pngDirectory+"/"+i+".png","/home");
                }
              }

SFTP 刪除文件

  private SFTPv3Client sftPv3Client;
  
  sftPv3Client = new SFTPv3Client(connection);

  public void rmFile(String filePath){
      try {
        if(sftPv3Client != null){
          sftPv3Client.rm(filePath);
        }
      } catch (IOException e) {
        e.printStackTrace();
      }
    }


Scp scp = Scp.getScpUtilsInstance("root","psd","192.168.199.3");
        scp.connect();
        if(scp.getIsAuthed()){
          for(int i = 0;i<10;i++){
            scp.rmFile("/home/"+i+".png");
          }
        }

以上就是如何在Android 中實(shí)現(xiàn)scp操作的詳細(xì)內(nèi)容,更多關(guān)于在Android 中實(shí)現(xiàn)scp操作的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • android dialog根據(jù)彈窗等級(jí)排序顯示的示例代碼

    android dialog根據(jù)彈窗等級(jí)排序顯示的示例代碼

    這篇文章主要介紹了android dialog根據(jù)彈窗等級(jí)排序顯示,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-10-10
  • Kotlin?RecyclerView滾動(dòng)控件詳解

    Kotlin?RecyclerView滾動(dòng)控件詳解

    RecyclerView是Android一個(gè)更強(qiáng)大的控件,其不僅可以實(shí)現(xiàn)和ListView同樣的效果,還有優(yōu)化了ListView中的各種不足。其可以實(shí)現(xiàn)數(shù)據(jù)縱向滾動(dòng),也可以實(shí)現(xiàn)橫向滾動(dòng)(ListView做不到橫向滾動(dòng))。接下來(lái)講解RecyclerView的用法
    2022-12-12
  • Android編程操作聯(lián)系人的方法(查詢,獲取,添加等)

    Android編程操作聯(lián)系人的方法(查詢,獲取,添加等)

    這篇文章主要介紹了Android編程操作聯(lián)系人的方法,包括針對(duì)聯(lián)系人的查詢,獲取,添加等操作,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2016-01-01
  • Android無(wú)需root實(shí)現(xiàn)apk的靜默安裝

    Android無(wú)需root實(shí)現(xiàn)apk的靜默安裝

    這篇文章主要介紹了Android無(wú)需root實(shí)現(xiàn)apk的靜默安裝 的相關(guān)資料,需要的朋友可以參考下
    2016-01-01
  • Flutter 利用CustomScrollView實(shí)現(xiàn)滑動(dòng)效果

    Flutter 利用CustomScrollView實(shí)現(xiàn)滑動(dòng)效果

    我們可以使用ListView將幾個(gè)GridView組合在一起實(shí)現(xiàn)了不同可滑動(dòng)組件的粘合,但是這里必須要設(shè)置禁止 GridView 的滑動(dòng),防止多個(gè)滑動(dòng)組件的沖突。這種方式寫起來(lái)不太方便,事實(shí)上 Flutter 提供了 CustomScrollView 來(lái)粘合多個(gè)滑動(dòng)組件,并且可以實(shí)現(xiàn)更有趣的滑動(dòng)效果。
    2021-06-06
  • Android開(kāi)發(fā)之軟鍵盤用法實(shí)例分析

    Android開(kāi)發(fā)之軟鍵盤用法實(shí)例分析

    這篇文章主要介紹了Android開(kāi)發(fā)之軟鍵盤用法,實(shí)例分析了Android軟鍵盤的實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2015-05-05
  • Android設(shè)置Activity背景為透明style的簡(jiǎn)單方法(必看)

    Android設(shè)置Activity背景為透明style的簡(jiǎn)單方法(必看)

    下面小編就為大家?guī)?lái)一篇Android設(shè)置Activity背景為透明style的簡(jiǎn)單方法(必看)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-10-10
  • Android中圖片占用內(nèi)存的深入分析

    Android中圖片占用內(nèi)存的深入分析

    我們?cè)谌粘i_(kāi)發(fā)中應(yīng)該經(jīng)常思考這些問(wèn)題,圖片占用內(nèi)存跟哪些東西有關(guān)?跟手機(jī)有關(guān)系么?這篇文章主要給大家介紹了關(guān)于Android中圖片占用內(nèi)存的相關(guān)資料,需要的朋友可以參考下
    2022-01-01
  • mac系統(tǒng)下載、安裝、使用Java8教程

    mac系統(tǒng)下載、安裝、使用Java8教程

    這篇文章主要介紹了在Mac OS上如何下載安裝Java8以及使用java8的基本方法,包括查看所安裝Java版本的方法,需要的朋友可以參考下
    2017-10-10
  • Android中XML的基本操作(增、刪、改、查)

    Android中XML的基本操作(增、刪、改、查)

    這篇文章主要介紹了Android中XML的基本操作(增、刪、改、查)的相關(guān)資料,需要的朋友可以參考下
    2017-04-04

最新評(píng)論