c# - 来自 ssh 远程文本文件的多行文本框

标签 c# linux windows winforms ssh

我有一个带有多行文本框和一个按钮的 Windows 窗体。按下按钮时,程序连接到我的 ssh 服务器并将文本文件(位于服务器上)的内容打印到文本框中。 问题是文本框将文件的所有内容显示在一行中。 我不能使用

textbox.Text = "Line1" + Environment.NewLine;

因为我正在使用 Linux cat 命令从服务器获取文件的内容。谁能帮帮我??

这是我的代码:

private void Form_Load(object sender, EventArgs e)
    {
        using (var client = new SshClient(host, port, user, pass))
        {
            //Start the connection
            client.Connect();
            var getmessage = client.RunCommand("cat messages/file.txt");
            textbox.Text = getmessage.Result;
            client.Disconnect();
        }
    }

最佳答案

在 DOS/Windows 机器上创建的文本文件与在 Unix/Linux 上创建的文件具有不同的行尾。 DOS 使用回车符和换行符(“\r\n”)作为行尾,而 Unix 仅使用换行符(“\n”)。因此,如果您使用文本框,“\n”应转换为“\r\n”。

关于c# - 来自 ssh 远程文本文件的多行文本框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45579335/

相关文章:

c++ - [c++]检查文件结尾

c++ - 如何在 Windows 上创建通知气球?

c++ - 在 C++ 中读取 PDB header

c# - 如何使用 C# 将 byte[] 转换为 HttpPostedFileBase

c# - 有没有办法验证字典的值

linux - 连接字符设备和物理PCIe驱动

php - 我如何告诉 Phing PHPUnit 的安装位置?

windows - 如何使用 PowerShell 获取所有已安装的 Windows 更新名称和 KB 编号?

c# - 为什么不显示指向正确控件的气球提示?

c# - 合并文件