您的位置:首页 > 编程语言 > C#

C# 调用控制台程序,并获取输出写入文件

2016-04-28 16:13 633 查看
1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5 using System.IO;
6 using System.Diagnostics;
7
8 namespace CSharpIOTest
9 {
10     class Program
11     {
12         static void Main(string[] args)
13         {
14             string file = @"I:\computer_info.cfg";
15             if (File.Exists(file))
16             {
17                 DisplayVersion();
18
19                 FileStream fs = new FileStream(file, FileMode.OpenOrCreate, FileAccess.Write);
20                 StreamWriter sw = new StreamWriter(fs);
21                 sw.Write(RunCmd("systeminfo"));
22                 sw.Flush();
23                 sw.Close();
24                 System.Console.WriteLine("Write data successfully.\r\n");
25
26                 FileParse f = new FileParse(file);
27                 System.Console.WriteLine(f.FileContent);
28                 System.Console.WriteLine("read data successfully.\r\n");
29             }
30         }
31
32         private static string RunCmd(string cmd)
33         {
34             Process p = new Process();
35             p.StartInfo.FileName = "cmd.exe";
36             p.StartInfo.Arguments = "/c" + cmd;
37             p.StartInfo.UseShellExecute = false;
38             p.StartInfo.RedirectStandardError = true;
39             p.StartInfo.RedirectStandardInput = true;
40             p.StartInfo.RedirectStandardOutput = true;
41             p.StartInfo.CreateNoWindow = true;
42
43             p.Start();
44             p.StandardInput.WriteLine("exit");
45
46             return p.StandardOutput.ReadToEnd();
47         }
48
49         private static void DisplayVersion()
50         {
51             System.Console.ForegroundColor = ConsoleColor.Red;
52             System.Console.WriteLine("Cosmos Copyright 2010 Project");
53             System.Console.WriteLine("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
54             System.Console.ForegroundColor = ConsoleColor.White;
55             System.Console.Write("test ");
56             System.Console.ForegroundColor = ConsoleColor.Green;
57             System.Console.WriteLine("2013.10.19");
58             System.Console.ForegroundColor = ConsoleColor.White;
59             System.Console.WriteLine();
60         }
61     }
62 }


FileParse.cs:

1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5 using System.IO;
6
7 namespace CSharpIOTest
8 {
9     class FileParse
10     {
11         private string filePath;//文件路径
12         private string fileName;//文件名
13         private string fileContent;//文件内容
14
15         public FileParse()
16         {
17             filePath = string.Empty;
18             fileName = string.Empty;
19             fileContent = string.Empty;
20         }
21
22         public FileParse(string file)
23         {
24             filePath = file;
25         }
26
27         public string FilePath
28         {
29             set { filePath = value; }
30             get { return filePath; }
31         }
32
33         public string FileName
34         {
35             set { fileName = value; }
36             get { return fileName; }
37         }
38
39         public string FileContent
40         {
41             set { fileContent = value; }
42             get
43             {
44                 if (File.Exists(filePath))
45                 {
46                     FileStream fs = new FileStream(filePath,FileMode.Open,FileAccess.Read);
47                     StreamReader sr = new StreamReader(fs);
48                     return sr.ReadToEnd();
49                 }
50                 else
51                 {
52                     System.Console.WriteLine("file is empty.\r\n");
53                     return string.Empty;
54                 }
55             }
56         }
57     }
58 }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: