📄 filesystem.vb
字号:
If reader.EndOfStream Then Return False If peekedChar.Count > 0 Then currentChar = peekedChar.Dequeue Else currentChar = Microsoft.VisualBasic.ChrW(reader.Read) End If Loop End Using Return False End Function Public Shared Function GetDirectories(ByVal directory As String) As ReadOnlyCollection(Of String) Return GetDirectories(directory, SearchOption.SearchTopLevelOnly, Nothing) End Function Public Shared Function GetDirectories(ByVal directory As String, ByVal searchType As SearchOption, ByVal ParamArray wildcards As String()) As ReadOnlyCollection(Of String) Dim list As New Generic.List(Of String) FindInDirectory2(directory, searchType, wildcards, list) Return New ReadOnlyCollection(Of String)(list) End Function Private Shared Sub FindInDirectory2(ByVal directory As String, ByVal searchType As SearchOption, ByVal fileWildcards() As String, ByVal result As Generic.List(Of String)) If fileWildcards Is Nothing OrElse fileWildcards.Length = 0 Then result.AddRange(System.IO.Directory.GetDirectories(directory)) Else For Each wildcard As String In fileWildcards AddUniqueToList(result, System.IO.Directory.GetDirectories(directory, wildcard)) Next End If If searchType = SearchOption.SearchAllSubDirectories Then Dim subdirs() As String subdirs = System.IO.Directory.GetDirectories(directory) For Each subdir As String In subdirs FindInDirectory2(subdir, searchType, fileWildcards, result) Next End If End Sub Public Shared Function GetDirectoryInfo(ByVal directory As String) As DirectoryInfo Return New DirectoryInfo(directory) End Function Public Shared Function GetDriveInfo(ByVal drive As String) As DriveInfo Return New DriveInfo(drive) End Function Public Shared Function GetFileInfo(ByVal file As String) As FileInfo Return New FileInfo(file) End Function Public Shared Function GetFiles(ByVal directory As String) As ReadOnlyCollection(Of String) Return GetFiles(directory, SearchOption.SearchTopLevelOnly, Nothing) End Function Public Shared Function GetFiles(ByVal directory As String, ByVal searchType As SearchOption, ByVal ParamArray wildcards As String()) As ReadOnlyCollection(Of String) Return FindInFiles(directory, Nothing, False, searchType, wildcards) End Function Public Shared Function GetName(ByVal path As String) As String Return IO.Path.GetFileName(path) End Function Public Shared Function GetParentPath(ByVal path As String) As String Return IO.Path.GetDirectoryName(path) End Function Public Shared Function GetTempFileName() As String Return Path.GetTempFileName End Function Public Shared Sub MoveDirectory(ByVal sourceDirectoryName As String, ByVal destinationDirectoryName As String) MoveDirectory(sourceDirectoryName, destinationDirectoryName, False) End Sub Public Shared Sub MoveDirectory(ByVal sourceDirectoryName As String, ByVal destinationDirectoryName As String, ByVal showUI As UIOption) MoveDirectory(sourceDirectoryName, destinationDirectoryName, showUI, UICancelOption.ThrowException) End Sub Public Shared Sub MoveDirectory(ByVal sourceDirectoryName As String, ByVal destinationDirectoryName As String, ByVal overwrite As Boolean) MoveDirectory(sourceDirectoryName, destinationDirectoryName, UIOption.AllDialogs, UICancelOption.DoNothing, False, overwrite) End Sub Public Shared Sub MoveDirectory(ByVal sourceDirectoryName As String, ByVal destinationDirectoryName As String, ByVal showUI As UIOption, ByVal onUserCancel As UICancelOption) MoveDirectory(sourceDirectoryName, destinationDirectoryName, showUI, onUserCancel, True, False) End Sub Private Shared Sub MoveDirectory(ByVal sourceDirectoryName As String, ByVal destinationDirectoryName As String, ByVal showUIOption As UIOption, ByVal onUserCancel As UICancelOption, ByVal showUI As Boolean, ByVal overwrite As Boolean) Dim op As New FileSystemOperation(sourceDirectoryName, destinationDirectoryName, showUIOption, onUserCancel, showUI, overwrite) op.ExecuteDirMove() End Sub Public Shared Sub MoveFile(ByVal sourceFileName As String, ByVal destinationFileName As String) MoveFile(sourceFileName, destinationFileName, False) End Sub Public Shared Sub MoveFile(ByVal sourceFileName As String, ByVal destinationFileName As String, ByVal showUI As UIOption) MoveFile(sourceFileName, destinationFileName, showUI, UICancelOption.ThrowException) End Sub Public Shared Sub MoveFile(ByVal sourceFileName As String, ByVal destinationFileName As String, ByVal overwrite As Boolean) MoveFile(sourceFileName, destinationFileName, UIOption.AllDialogs, UICancelOption.DoNothing, False, overwrite) End Sub Public Shared Sub MoveFile(ByVal sourceFileName As String, ByVal destinationFileName As String, ByVal showUI As UIOption, ByVal onUserCancel As UICancelOption) MoveFile(sourceFileName, destinationFileName, showUI, onUserCancel, True, False) End Sub Private Shared Sub MoveFile(ByVal sourceFileName As String, ByVal destinationFileName As String, ByVal showUIOption As UIOption, ByVal onUserCancel As UICancelOption, ByVal showUI As Boolean, ByVal overwrite As Boolean) Dim op As New FileSystemOperation(sourceFileName, destinationFileName, showUIOption, onUserCancel, showUI, overwrite) op.ExecuteFileMove() End Sub Public Shared Function OpenTextFieldParser(ByVal file As String) As TextFieldParser Return New TextFieldParser(file) End Function Public Shared Function OpenTextFieldParser(ByVal file As String, ByVal ParamArray fieldWidths As Integer()) As TextFieldParser Dim result As New TextFieldParser(file) result.FieldWidths = fieldWidths result.TextFieldType = FieldType.FixedWidth Return result End Function Public Shared Function OpenTextFieldParser(ByVal file As String, ByVal ParamArray delimiters As String()) As TextFieldParser Dim result As New TextFieldParser(file) result.Delimiters = delimiters result.TextFieldType = FieldType.Delimited Return result End Function Public Shared Function OpenTextFileReader(ByVal file As String) As StreamReader Return New StreamReader(file) End Function Public Shared Function OpenTextFileReader(ByVal file As String, ByVal encoding As Encoding) As StreamReader Return New StreamReader(file, encoding) End Function Public Shared Function OpenTextFileWriter(ByVal file As String, ByVal append As Boolean) As StreamWriter Return New StreamWriter(file, append) End Function Public Shared Function OpenTextFileWriter(ByVal file As String, ByVal append As Boolean, ByVal encoding As Encoding) As StreamWriter Return New StreamWriter(file, append, encoding) End Function Public Shared Function ReadAllBytes(ByVal file As String) As Byte() Return System.IO.File.ReadAllBytes(file) End Function Public Shared Function ReadAllText(ByVal file As String) As String Return System.IO.File.ReadAllText(file) End Function Public Shared Function ReadAllText(ByVal file As String, ByVal encoding As Encoding) As String Return System.IO.File.ReadAllText(file, encoding) End Function Public Shared Sub RenameDirectory(ByVal directory As String, ByVal newName As String) IO.Directory.Move(directory, Path.Combine(Path.GetDirectoryName(directory), newName)) End Sub Public Shared Sub RenameFile(ByVal file As String, ByVal newName As String) IO.File.Move(file, Path.Combine(Path.GetDirectoryName(file), newName)) End Sub Public Shared Sub WriteAllBytes(ByVal file As String, ByVal data As Byte(), ByVal append As Boolean) Dim mode As FileMode If append Then mode = FileMode.Append Else mode = FileMode.Create End If Using reader As New System.IO.FileStream(file, mode, FileAccess.Write, FileShare.Read) If data IsNot Nothing Then reader.Write(data, 0, data.Length) End If End Using End Sub Public Shared Sub WriteAllText(ByVal file As String, ByVal text As String, ByVal append As Boolean) WriteAllText(file, text, append, System.Text.Encoding.UTF8) End Sub Public Shared Sub WriteAllText(ByVal file As String, ByVal text As String, ByVal append As Boolean, ByVal encoding As Encoding) Dim mode As FileMode If append Then mode = FileMode.Append Else mode = FileMode.Create End If Using reader As New System.IO.FileStream(file, mode, FileAccess.Write, FileShare.Read) Using reader2 As New System.IO.StreamWriter(reader, encoding) reader2.Write(text) End Using End Using End Sub Public Shared Property CurrentDirectory() As String Get Return Environment.CurrentDirectory End Get Set(ByVal value As String) Environment.CurrentDirectory = value End Set End Property Public Shared ReadOnly Property Drives() As ReadOnlyCollection(Of DriveInfo) Get Return New ReadOnlyCollection(Of DriveInfo)(System.IO.DriveInfo.GetDrives()) End Get End Property End ClassEnd Namespace#End If
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -