#vb.net #visual-studio-2010
#vb.net #visual-studio-2010
Вопрос:
Мне любопытно. Если я использую комбинацию streamreader и streamwriter, есть ли способ записать поток, только если файл X был изменен?
Возможно, этот код сконструирован не лучшим образом. Это прилагается, чтобы помочь ответить на мои вопросы.
sCommand = "whoami.exe >> C:DesktopTest.txt"
Using swrr As New StreamWriter(File.Open(ErrorLog, FileMode.OpenOrCreate))
For Each strUserName As String In strLines
Shell("cmd.exe /c" amp; sCommand, AppWinStyle.Hide, True, )
'command Cannot Execute, List Why and Move onto Next Command
Using sr As New StreamReader(File.Open(Test.txt, FileMode.OpenOrCreate))
If '''??File has been modifed??''''' Then swrr.WriteLine("PASS") Else swrr.WriteLine("FAIL")
End Using
Next
End Using
Ответ №1:
Вы можете вызвать File.ReadAllText(path)
, чтобы получить строку, содержащую текст.
Затем вы можете сравнить новую строку со старой.
Правильный способ прочитать выходные данные команды — использовать Process
класс с RedirectStandardOutput
.
Затем вы можете создать StreamReader
around StandardOutput
и вызвать ReadToEnd()
.