首页 / 知识
关于C#:如何保存控制台应用程序的输出
2023-04-15 06:06:00

How to save the output of a console application我需要有关如何让我的C#控制台应用程序通过标准输出向用户显示文本,同时仍然可以稍后访问它的建议。我要实现的实际功能是在程序执行结束时将整个输出缓冲区转储到文本文件中。 我找不到更干净的方法时要使用的解决方法是将
看到它一直在写入并刷新文件。我只想在执行结束时这样做,但是我找不到任何访问输出缓冲区的方法。 也请原谅上面的代码有误(必须是临时编写,对不起;)。 为此的理想解决方案是将log4net与控制台附加程序和文件附加程序一起使用。也有许多其他的附加程序。它还允许您在运行时关闭和打开不同的附加程序。 我认为您的方法没有任何问题。 如果您想要可重用的代码,请考虑实现一个名为 我想说的是模仿.NET本身使用的诊断(跟踪和调试)。 创建一个" output "类,该类可以具有遵循文本输出接口的不同类。您向输出类报告,它会自动将给定的输出发送给您已添加的类(ConsoleOutput,TextFileOutput,WhateverOutput)。等等。 xml / xslt以获得格式正确的报告?)。 查看跟踪侦听器集合以了解我的意思。 可能不是您想要的,但是以防万一...显然,PowerShell实现了一个受人尊敬的 我正在努力实现类似的功能,以捕获发送到控制台的输出并将其保存到日志,同时仍将输出实时传递到普通控制台,以免破坏应用程序(例如,如果它是控制台应用程序!)。 如果您仍想通过保存控制台输出(而不是使用日志记录系统仅保存您真正关心的信息)来用自己的代码执行此操作,那么我认为您可以避免每次刷新后都刷新写,只要您还重写Flush()并确保它刷新保存的原始 如果该方法在控制台输出缓冲时间过长时遇到问题,则可能需要确保WriteLine()刷新 您可能还想覆盖Close()以(刷新并)关闭您的 考虑重构您的应用程序,以将用户交互部分与业务逻辑分开。以我的经验,这样的分离对您的程序结构非常有益。 对于您要在此处解决的特定问题,用户交互部分将其行为从 |
最新内容
相关内容
linux命令给用户授权?
linux命令给用户授权?,系统,数字,管理,权限,命令,密码,工具,时间,软件,信息,linux怎样给普通用户设置权限添加用户 添加账号就是在系统中创建用linux命令输出id?
用linux命令输出id?,系统,设备,工作,信息,地址,命令,工具,基础,目录,进程,linux命令SCSI_IDscsi_id是通过sg驱动,向设备发送EVPD page80或page8linux命令创建用户组?
linux命令创建用户组?,系统,代码,密码,用户组,用户,命令,信息,名称,新增,管理,Linux中如何创建用户和用户组linux一条命令不能创建多个用户组linux启动显示命令行?
linux启动显示命令行?,系统,密码,终端,状态,首页,情况,基础,电脑,信息,工具,linux,按了ctrl+alt+F1,进入了类似纯命令行的界面,让输入login信linux显示之前的命令?
linux显示之前的命令?,系统,信息,命令,地址,服务,环境,数据,标准,数字,不了,linux系统查看自己在linux上使用过的前10次命令首先打开Linux直接linux控制台创建命令?
linux控制台创建命令?,工作,地址,系统,命令,信息,目录,管理,名字,文件,控制台,linux基本操作命令1、linux常用命令有pwd命令、cd命令、ls命令linux打开显示器命令?
linux打开显示器命令?,信息,工具,系统,环境,发行,实时,数据,设备,命令,文件,Linux文件系统操作命令cat:可以显示文件的内容(经常和more搭配使用查看linux用户命令行?
查看linux用户命令行?,信息,系统,时间,名称,密码,用户,命令,地址,状态,设备,Linux查看所有用户用什么命令输入“cat /etc/passwd”命令查看所linux所有用户命令行?
linux所有用户命令行?,系统,信息,地址,工作,密码,命令,用户,时间,电脑,管理,Linux里怎么用命令查看所有用户1、您好,查看linux下所有用户步骤:第linux用户下的命令是?
linux用户下的命令是?,系统,工作,管理,地址,命令,密码,基础,信息,目录,新增,Linux系统基础操作指令1、linux常用命令有pwd命令、cd命令、ls命linux命令输出太多?
linux命令输出太多?,命令,标准,信息,时间,名称,文件,内容,屏幕,模式,目录,linux输入一个命令,内容太多,只能显示当前屏幕下的内容。用上下键,Plinux用户登录的命令?
linux用户登录的命令?,系统,信息,工作,地址,时间,密码,名称,命令,电脑,软件,linux系统添加用户命令是什么?打开xshell软件,远程访问您的服务器