我编写了 ac# 应用程序,它应该打开一个选定的文件,并读取其中的所有行。
目标是启动应用程序A
并将其输出重定向到文件B
,然后使用这个新应用程序读取文件的内容B
并将其打印到 ListBox。
问题是应用程序A
24/7 运行并将新输出写入文件B
,我想实时捕获这些新行,并将它们打印到 ListBox。
这甚至可能吗?我尝试使用File.ReadAllLines(filename)
,但这并没有说明文件正在使用中。
我编写了 ac# 应用程序,它应该打开一个选定的文件,并读取其中的所有行。
目标是启动应用程序A
并将其输出重定向到文件B
,然后使用这个新应用程序读取文件的内容B
并将其打印到 ListBox。
问题是应用程序A
24/7 运行并将新输出写入文件B
,我想实时捕获这些新行,并将它们打印到 ListBox。
这甚至可能吗?我尝试使用File.ReadAllLines(filename)
,但这并没有说明文件正在使用中。
试试这个:
http: //msdn.microsoft.com/en-us/library/aa988006
(v=vs.80).aspx
这可以解决“文件已打开”的问题。
您是否尝试过这种流式阅读解决方案?
var reader = new System.IO.FileStream("Path",
FileMode.Open,
FileAccess.Read,
FileShare.ReadWrite);