我正在创建一个文件转换控制台应用程序,以使用 Visual C# 将购物车导出生成的 xml 文件更改为 x12 850 EDI txt 文件。我需要创建的 txt 文件中的一个数字加一,然后将这个新数字存储在应用程序本身中,以便下一个转换的文件在创建的最后一个文件之后增加一个,并继续转换每个其他文件。过去实现这一目标的方法是什么?谢谢你。
泰瑞尔
我正在创建一个文件转换控制台应用程序,以使用 Visual C# 将购物车导出生成的 xml 文件更改为 x12 850 EDI txt 文件。我需要创建的 txt 文件中的一个数字加一,然后将这个新数字存储在应用程序本身中,以便下一个转换的文件在创建的最后一个文件之后增加一个,并继续转换每个其他文件。过去实现这一目标的方法是什么?谢谢你。
泰瑞尔
假设程序的单个实例并且该值需要在应用程序(可能还有计算机)重新启动时保持:
int
或您使用的任何内容中)好吧,这取决于很多事情。
主要问题将是效率问题之一。
文件系统观察程序MSDN HERE将为您提供正在创建的文件的事件,但随后您将不得不处理所有潜在的情况,例如有人在目录中放入另一种类型的文件、一次多个文件等。
如果我正在设计这样的东西,我会考虑一个多线程应用程序和一些排队。
第2部分...
它不会修改整数,它会在创建/删除文件时通知您等。记录这些事件将使您能够跟踪文件本身。保持该设置需要运行应用程序之外的某些东西,例如注册表项或磁盘文件。通过对来自文件系统观察程序的事件进行排队,您可以以一种干净有序的方式控制对该持久文件的访问,确保它始终与手头的操作相对应,而不仅仅是文件创建或删除事件。
基本上每次应用程序加载时都会从文件中获取最后一个值,作为一个操作过程递增/递减内存中的值并将其写回该文件。该值将是内存中的整数,并且使用 ++ 或 - 简单地递增或递减 - 如此处详述