首页 > 解决方案 > Process.Start 从 .txt 文件到文本框

问题描述

我正在尝试解决我遇到的问题。我的工作是制作一个小应用程序,它将在应用程序窗口中显示 .txt 文件内的文本,但由于某种原因,他们告诉我必须使用 @ShellExecute(使用 Process.Start)。有没有办法做到这一点?因为当我使用 ShellExecute 时,该文件在按下按钮后会在记事本中打开,我猜这就是使用 Shell 的要点。

我尝试做的代码很少,但没有成功。谢谢指教!

string filePath = @"C:\Folder\file.txt";
ProcessStartInfo psi = new ProcessStartInfo(filePath);
psi.UseShellExecute = false;
psi.RedirectStandardOutput = true;
psi.CreateNoWindow = true;
var proc = Process.Start(psi);
string s = proc.StandardOutput.ReadToEnd();
textBox1.Text = s;

标签: c#

解决方案


而不是使用ProcessStartInfo,尝试StreamReader这样:

        string filePath = @"C:\Folder\file.txt";
        StreamReader sr = new StreamReader(filePath);
        string s = sr.ReadToEndAsync().GetAwaiter().GetResult();
        Console.WriteLine(s);

使用异步方法读取所有文本而不会阻塞。


推荐阅读