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

时间:2017-08-08 23:12:08

标签: 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();
        }
    }

1 个答案:

答案 0 :(得分:0)

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