Как прочитать размер файла с помощью filesystemwatcher
Привет Ребята
В настоящее время я испытываю некоторые трудности с чтением размера моего файла при использовании
System.IO.FileSystemWatcher
Я могу забрать информацию о файле, когда файл отправляется в каталог или подкаталог проблема в том, что размер файла возвращает 0 я хочу знать, как бы я мог получить размер файла, чтобы вернуть размер файла, который будет храниться на диске?
Что я уже пробовал:
watchfolder = New System.IO.FileSystemWatcher
watchfolder.Path = "C:\Test\" watchfolder.IncludeSubdirectories = True watchfolder.NotifyFilter = IO.NotifyFilters.DirectoryName watchfolder.NotifyFilter = watchfolder.NotifyFilter Or IO.NotifyFilters.FileName watchfolder.NotifyFilter = watchfolder.NotifyFilter Or IO.NotifyFilters.Attributes watchfolder.NotifyFilter = watchfolder.NotifyFilter Or IO.NotifyFilters.Size AddHandler watchfolder.Changed, AddressOf logchange AddHandler watchfolder.Created, AddressOf logchange AddHandler watchfolder.Deleted, AddressOf logchange AddHandler watchfolder.Renamed, AddressOf logrename watchfolder.EnableRaisingEvents = True Private Sub logchange(ByVal source As Object, ByVal e As _ System.IO.FileSystemEventArgs) If e.ChangeType = IO.WatcherChangeTypes.Changed Then Dim FileSize As Long = New System.IO.FileInfo(e.FullPath).Length End If If e.ChangeType = IO.WatcherChangeTypes.Created Then Dim FileSize As Long = New System.IO.FileInfo(e.FullPath).Length End If If e.ChangeType = IO.WatcherChangeTypes.Deleted Then Dim FileSize As Long = New System.IO.FileInfo(e.FullPath).Length End If
Paw Jershauge
Если только программа, о которой идет речь (приложение, пишущее файл), предварительно не выделит место на диске, вы не сможете получить эту информацию. я думаю
_Asif_
Эта ссылка предлагает обходной путь. https://social.msdn.microsoft.com/Forums/vstudio/en-US/7be543f0-b9d8-49e4-be4a-4c104ecfa139/length-property-of-fileinfo-class-returns-zero-size-when-the-file-coping?forum=netfxbcl