zoukankan      html  css  js  c++  java
  • C# 调用控制台程序,并获取输出写入文件

     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.
    ");
    25 
    26                 FileParse f = new FileParse(file);
    27                 System.Console.WriteLine(f.FileContent);
    28                 System.Console.WriteLine("read data successfully.
    ");
    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.
    ");
    53                     return string.Empty;
    54                 }
    55             }
    56         }
    57     }
    58 }

  • 相关阅读:
    Redis 客户端连接
    Redis 性能测试
    Redis 安全
    Redis 数据备份与恢复
    Redis 数据类型
    Redis 配置
    Redis 安装
    Redis 简介
    Redis教程
    如何修改Oracle Enterprise Linux时区?
  • 原文地址:https://www.cnblogs.com/kernel0815/p/3379650.html
Copyright © 2011-2022 走看看