1
我使用Tamir.SharpSSH庫進行我的SFTP操作。我可以從客戶端上傳文件,刪除或列出位於SFTP服務器目錄中的文件。如何使用SharpSSH庫追加文本文件
但我找不到如何附加文本文件。我不想覆蓋或刪除現有的並上傳一個新的。我在該SFTP服務器上有一個日誌文件。我必須從客戶端添加新行到該文件。
我剛剛搜索了互聯網,看到代碼中的不同功能,但沒有執行任何操作,因爲直到現在我還找不到任何東西。
在此先感謝
編輯
我決定使用,因爲@馬丁Prikryl的提醒的Renci.SshNet庫。我也嘗試了與該庫的上述操作,我看到它的效果很好。在文本庫中附加文本也非常簡單。我在這裏分享一個小例子:
using System
using Renci.SshNet;
namespace SFTPConnectSample
{
class Program
{
static void Main(string[] args)
{
AppendText(@"/targetFolder/targetFile.txt");
}
private static void AppendText(string targetFilePath)
{
int portNumber = 22;
using (SftpClient sftp = new SftpClient("myHostName", portNumber, "sftpUser", "sftpPassword"))
{
sftp.ConnectionInfo.Timeout = new TimeSpan(0, 0, 30);
sftp.Connect();
sftp.AppendAllText(targetFilePath, "\r\nThis is a new line for target text file.");
}
}
}
}
SFTP心不是用來附加到文件。只有覆蓋,創建,刪除,列表,你已經找到。如果sftp服務器支持簡歷,你也許可以做些事情,因爲你可能能夠從服務器上的文件末尾恢復上傳。但是,它的遠射 – BugFinder
@BugFinder這根本不是真的。使用SFTP,您可以訪問/覆蓋文件的任何部分,就像您使用本地文件一樣。 –
嗯,好的 - 我只運行到sftp,它和普通的ftp運行相同的命令..安全地完成它 – BugFinder