gpt4 book ai didi

c# - 如何将输出重定向保存到文件?

转载 作者:太空宇宙 更新时间:2023-11-03 14:58:49 24 4
gpt4 key购买 nike

C# 新手,想实现以下从 input.txt 读取并将结果写入 output.txt

myprogram.exe < input.txt > output.txt

我的代码如下

class Program
{
static void Main(string[] args)
{
String line = Console.ReadLine();
while(line != null)
{
Console.Out.WriteLine(line);
line = Console.ReadLine();
}
}
}

结果是读取input.txt没问题,可以创建output.txt但里面什么都没有。

更新:根本原因是 output.txt 被与 C# 语言无关的其他进程锁定。

最佳答案

using System;
using System.IO;

namespace ConsoleApplication1
{
public class Program
{
static void Main(string[] args)
{
var parameters = GetParameters(args);

var inputContent = GetInputContent(parameters);

CreateOutputFile(parameters, inputContent);

Console.WriteLine("it's ok. Press key to exit");
Console.ReadKey();
}

private static void CreateOutputFile(MyProgramParameters parameters, string inputContent)
{
File.WriteAllText(parameters.OutputFileName, inputContent);
}

private static string GetInputContent(MyProgramParameters parameters)
{
var result = File.ReadAllText(parameters.InputFileName);

return result;
}

private static MyProgramParameters GetParameters(string[] args)
{
CheckInputParameters(args);

return new MyProgramParameters
{
InputFileName = args[0],
OutputFileName = args[1]
};
}

private static void CheckInputParameters(string[] args)
{
if (args.Length != 2)
throw new ArgumentException("invalid parameters. For example, myProgram.exe input1.txt output.txt");

var inputFileName = args[0];

if (!File.Exists(inputFileName))
throw new IOException(string.Format("File {0} not found", inputFileName));
}
}

public class MyProgramParameters
{
public string InputFileName { get; set; }

public string OutputFileName { get; set; }
}
}

关于c# - 如何将输出重定向保存到文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47375898/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com