Set File Attributes in VB.NET

The System.IO namespaces encompass a variety of types that offer extensive support for input and output operations. These namespaces facilitate reading and writing data to streams, allowing developers to work with data in a synchronous or asynchronous manner, based on their specific requirements.

System.IO namespac

One important class within the System.IO namespace is the FileInfo class. This class provides a range of instance methods that enable the creation, copying, deletion, moving, and opening of files. With the FileInfo class, developers can perform various file-related operations easily and efficiently.

_file.Attributes = IO.FileAttributes.ReadOnly

Another useful feature available in the System.IO namespace is the FileSystemInfo.Attributes property. This property allows you to access and modify the attributes of the current file or directory. By using the Attributes property, you can retrieve information about attributes such as whether a file is read-only, hidden, or archived. Additionally, you can modify these attributes to control the behavior and visibility of files or directories within your application.

The following program shows how to set readonly and hidden property to a file .

Full Source VB.NET
Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Try Dim _file As IO.FileInfo = My.Computer.FileSystem.GetFileInfo("c:\test.txt") _file.Attributes = IO.FileAttributes.ReadOnly _file.Attributes = IO.FileAttributes.Hidden Catch ex As System.IO.FileNotFoundException MsgBox(ex.ToString()) End Try End Sub End Class


By using the features and functionality offered by the System.IO namespaces, developers can effectively handle input and output operations, manipulate files and directories, and control attributes associated with them. These namespaces provide a powerful set of tools for working with file systems, enabling developers to build robust and efficient file handling functionality in their VB.NET applications.