Blue Theme Orange Theme Green Theme Red Theme
 
Nevron Gauge for SharePoint
Home | Forums | ASP.NET 2.0 Tutorials | Web Services | How Do I...? | Class Browser | WPF Quick Starts | Advertise with Us
 | Consulting  
Submit an Article Submit a Blog 
 Jump to
Skip Navigation Links
TechnologyExpand Technology
WebsiteExpand Website
Team Foundation Server Hosting
Search :       Advanced Search »
Home » Visual Studio 2005 » Utilize the Full Functionality of the Whidbey File Management

Utilize the Full Functionality of the Whidbey File Management

This article is based on a pre-release version of Microsoft Visual Studio 2005, formerly code named “Whidbey.” All information contained herein is subject to change.

Page Views : 1941
Downloads : 0
Rating :
 Rate it
Level : Intermediate
   Print Read/Post comments Post a comment  Similar Articles  
   Email to a friend  Bookmark  Author's other articles  
 
6 Months Free & No Setup Fees ASP.NET Hosting!
Become a Sponsor
 Tag Cloud
 Latest Jobs
More ... 
 Latest Interview Questions
More ... 

 

This article is based on a pre-release version of Microsoft Visual Studio 2005, formerly code-named “Whidbey.” All information contained herein is subject to change.

This article discusses:

  • File System Management and its uses
  • File Permissions
  • File modes, File Access, File Shares

File Management in Whidbey/VB.NET the beating heart of the technologies that comprise Windows Forms. This article explains various file management operations such as read or write, retrieving properties or setting the properties or copy or move a file using the Whidbey/Visual Studio.NET environment. I hope this will helpful to understand the operation of managing a file.

System.IO.namespace

The input/output operation of file management is handled by the classes in the System.IO.namespace. The System.IO.namespace supports the following activities:

  • Reading and writing to binary files, text files etc.
  • Reading and writing to data streams
  • Basic file support
  • Directory support
  • Memory streams
  • Network streams
You have to include this namespace to your project.

Classes that supports System.IO.namespace

The following classes will support System.IO.namespace in VB.NET.

1. The class Binary Reader used for Reads primitive data types as binary values. Primitive data types are those that are not defined in terms of other data types. Because primitive data types are the basis for all other types, they cannot have element content or attributes. Examples of primitive data types are string, float, decimal, anyURI, and QName.

Usage:

    Dim objBinReader as New BinaryReader(File.Open _ ("C:\mysamplefile.txt", FileMode.Open))

    2. The class BinaryWriter used for writes primitive data types as binary values to a stream.

    Usage: 

    Dim objBinWriter as New BinaryWriter(File.Open _ ("C:\mysamplefile.txt", FileMode.Create))

    3. The class BufferedStream used for buffering to another stream for read and write operations.

    Usage: 

    ' Create an NetworkStream object "objNetStream" that owns clientSocket
    Dim objNetStream As New NetworkStream(ClientSocket, True)
    ' Create an BufferedStream object
    ' "objBufStream" on top of the NetworkStream
    Dim objBufStream as New _ BufferedStream(objNetStream, _ intStreamBufferSize)

    Note: The NetworkStream class provides methods for sending and receiving data over Stream sockets in blocking mode

    4. The class Directory used for creating, copying, moving, deleting and renaming directories and sub directories. The Directory class includes the System.IO namespace.

    Some of the public methods used for Directory class is described as follows.

    • CreateDirectory - Creates a new directory in a specified path.
    • Delete - Delete the directory from the specified path
    • Exists - Checks whether the associated directories exists in the specific path.
    • GetCreationTime - Get the creation time of directory
    • GetCreationTimeUtc - Get the creation time in universal coordinated time
    • GetCurrentDirectory - Get the current working directory of the application
    • GetDirectories - Gets the name of subdirectories in the working folder
    • GetDirectoryRoot - Get root and volume information for the specified path
    • GetFiles - Get or returns all the files listed in the specified directory.
    • GetFileSytemEntries - Get or returns all the files and sub directories listed in the specified directory.
    • GetLastAccessTime - Last access date and time of the specified directory
    • GetLastAccessTimeUtc - Last access date and time of the specified directory in universal coordinator time (UTC) format.
    • GetLastWriteTime - Last written date and time of a specified directory.
    • GetLastWriteTimeUtc - Last written date and time of a specified directory in universal coordinator time (UTC).
    • GetLogicalDrives - Get all the logical drives on the computer.
    • GetParent - Get the absolute and relative path of the parent directory.
    • Move - Move the specific directory to another location
    • SetCreationTime - Sets the creation date and time for the specified directory or file.
    • SetCreationTimeUtc - Sets the creation date and time for the specified directory or file in universal coordinated time format.
    • SetCurrentDirectory - Sets the current directory to a specified directory in an application path.
    • SetLastAccessTime - Sets the last access date and time for the specified directory or file.

    Usage:

    ' Checking whether the directory exists in the specified path
    Dim strMyPath As String = "C:\mySample"
    If Directory.Exists(strMyPath) = True Then
    Directory.Delete(strMyPath)
    Else
    Directory.CreateDirectory(strMyPath)
    End If

    5. The class DirectoryInfo used the same functionality as Directory class except if you are not going to reuse an object several times.

    6. The class DirectoryNotFoundException throws exception error when the file or directory not found in the
    specified path.

    7. The class EndOfStreamException throws exception error at the past the end of a stream.

    8. The class ErrorEventArgs provides data for Error event.

    Usage:

    ' Checking whether the directory exists in the specified path
    Dim strMyPath As String = "C:\mySample"
    ' Initializes the "objException" Exception object
    Dim objException As New Exception("Cannot create Directory")
    ' Creates an ErrorEventArgs with the exception.
    Dim objErrorEventArgs As New ErrorEventArgs(objException)
    If Directory.Exists(strMyPath) = True Then
    Directory.Delete(strMyPath)
    Else
    Directory.CreateDirectory(strMyPath)
    End If
    ' Retrieves Exception from ErrorEventArgs
    Dim objReturnedException As Exception = objErrorEventArgs.GetException()
    If objReturnedException.Message <> "" Then
    MessageBox.Show(objReturnedException.Message
    End If
    End Sub

    9. The class File provides to manage the file manipulation operations such as Creating, Opening, Deleting, Copying and Moving of files using FileStream objects. File class methods are static.

    Some of the Public Methods used with File class is as follows:

    • AppendText
    • Copy
    • Create
    • CreateText
    • Delete
    • Exists
    • GetAttributes
    • GetCreationTime
    • GetCreationTimeUtc
    • GetLastAccessTime
    • GetLastAccessTimeUtc
    • GetLastWriteTime
    • Move
    • Open
    • OpenRead
    • OpenText
    • OpenWrite
    • SetAttributes
    • SetCreationTime
    • SetCreationTimeUtc
    • SetLastAccessTime
    • SetLastAccessTimeUtc
    • SetLastWriteTime
    • SetLastWriteTimeUtc

    Usage

    ' Initializing File class aids in the creation of FileStream objects
    Try
    Dim strMyPath As String = "C:\Benoy\temp.txt"
    Dim strMyCopyPath As String = _"C:\Benoy\temp1.txt"
    Dim objFS As FileStream = _ File.Create(strMyPath)
    ' Closing the file
    objFS.Close()
    ' Copy the file
    File.Copy(strMyPath,strMyCopyPath
    ' Delete the file
    File.Delete(strMyPath)
    Catch
    MessageBox.Show("Error in File Operation")
    End Try

    10. The class FileInfo provides the same file management operation as in File class such as Creating, Opening, Deleting, Copying and Moving of files using FileStream objects, except if you are not reusing the object several times because the security check is not always necessary.

    11. The class FileLoadException throws exception error if any error occurs during File Load.

    Some of the public methods used with this class are shown below:

    • FileName - The associated filename that causes exception.
    • FusionLog - Get the log file.
    • HelpLink - Help Link association during exception error.
    • InnerException - An inner exception that caused the current exception.
    • Message - Exception Error Message.
    • Source - Error Source.
    • StackTrace - The associated string representation of the frames on the call stack.
    • TargetSite - The associated method name that causes exception.

    12. The FileNotFoundException class throws the exception error when the associated file is not found in the specified path or invalid disk access. The public methods are same as FileLoadException class.

    13. The FileStream class supports to read, write, open and close the file management operations as well as it supports to manage the operating system file operations such as pipes, standard input and output.

    14. The FileSystemEventArgs class provides data for the directory events as shown below.

    • Changed event handler fires the properties or security details such as size, system attributes, last write time, last access time, whenever a file is changed or updated.
    • Created event handler fires whenever a directory or file created in a specified path.
    • Deleted event handler fires whenever a file or directory is deleted from the specified path.

    15. The FileSystemInfo class supports the public methods which you can use for both files and directory in the specified path, which serving as the basis for two objects such as FileInfo and DirectoryInfo, which we understand from above.

    16. The FileSystemWatcher class allows to notify or fires any changes occurs in the file system or directory such as a file or directory changed, deleted or created.

    The figure 1 shows the NotifyFilter properties, that you can use to watch the notifications.

    Figure 1 NotifyFilter Properties


    Usage:

    ' Create a new FileSystemWatcher and its properties
    Try
    Dim
    objFileSystemWatcher as New _ FileSystemWatcher()
    ' Watch the notification for LastAccess and LastWrite, FileName, CrationTime and the renaming of files and directories
    objFileSystemWatcher.NotifyFilter = (NotifyFilters.LastWrite Or
    NotifyFilters.LastAccess
    Or
    NotifyFilters.FileName
    Or NotifyFilters.DirectoryName Or NotifyFilters.FileName Or
    NotifyFilters.CreationTime)
    ' Only watch doc files
    objFileSystemWatcher.Filter = "*.doc"
    ' Add event handlers
    AddHandler objFileSystemWatcher.Changed, AddressOf OnChanged
    AddHandler objFileSystemWatcher.Created, AddressOf OnCreated
    AddHandler objFileSystemWatcher.Deleted, AddressOf OnChanged
    AddHandler objFileSystemWatcher.Renamed, AddressOf OnChanged
    ' Begin watching event for changed, deleted, renamed and created
    objFileSystemWatcher.EnableRaisingEvents = True
    ' Define the event handlers.
    Private Shared Sub OnChanged(ByVal source As Object, ByVal e As FileSystemEventArgs)
    ' Specify what is done when a file is changed, created, or deleted.
    MessageBox.Show("File: " & e.FullPath & " " & e.ChangeType)
    End Sub
    Private Shared Sub OnCreated(ByVal source As Object, ByVal e As RenamedEventArgs)
    ' Specify what is done when a file is renamed.
    MessageBox.Show("File: {0} renamed to {1}", e.OldFullPath, e.FullPath)
    Catch
    MessageBox.Show("Error in File Operation")
    End Try

    17. The InternalBufferOverFlowException class throws exception when the buffer overflows during execution of the programs. It supports some of the public methods as shown in the FileLoadException class except FusionLog and FileName, which you saw above.

    18. The IOException class throws exception when Input/Output error occurs. . It supports some of the public methods as shown in the FileLoadException class except FusionLog and FileName, which you saw above.

    19. The MemoryStream class creates streams that have memory as an array instead of a disk or any storage media. It can reduce the need for temporary buffers and files in an application.

    Usage: 

    Try
    ' Create a new instance of MemoryStream object
    Dim objMemoryStream As New MemoryStream(200)
    ' Create an instance of UnicodeEncoding
    Dim objUnicodeEncoding As New UnicodeEncoding
    ' Create array of string variables.
    Dim strMyText As Byte() = _
    objUnicodeEncoding.GetBytes("File Management using Whidbey/VB.NET")
    objMemoryStream.Write(strMyText, 0, strMyText.Length)
    MessageBox.Show(" _
    "Capacity = {0}, " _
    "Length = {1}, " _
    "Position = {2}", _
    objMemoryStream.Capacity.ToString(), _
    objMemoryStream.Length.ToString(), _
    objMemoryStream.Position.ToString())
    Catch
    MessageBox.Show("Error in File Operation")
    End Try

    20. Other class members for this namespaces are

    • Path
    • PathTooLongException
    • RenamedEventArgs
    • Stream
    • StreamReader class
    • StreamWriter
    • StringReader
    • StringWriter
    • TextReader
    • TextReader

    System.Security.Permissions

    The enumeration to get or set file permissions in VB.net is called FileIOPermissionAccess enumerations, which used with the FileIOPermission class. The system namespace used for this enumeration is System.Security.Permissions namespace, which implements IUnrestrictedPermission interface, which defines classes that control access to operations and resources based on permission policy.

    Classes that supports System.Security.Permissions

    The following classes will support System.Security.Permissions in VB.NET.

    • CodeAccessSecurityAttribute
    • EnvironmentPermission
    • EnvironmentPermissionAttribute
    • FileDialogPermission
    • FileDialogPermissionAttribute
    • FileIOPermission
    • FileDialogPermission
    • FileIOPermissionAttribute
    • IsolatedStorageFilePermission
    • IsolatedStorageFilePermissionAttribute
    • IsolatedStoragePermission
    • IsolatedStoragePermissionAttribute
    • PermissionSetAttribute
    • PrincipalPermission
    • PrincipalPermissionAttribute
    • PublishedIdentityPermission
    • PublishedIdentityPermissionAttribute
    • ReflectionPermission
    • ReflectionPermissionAttribute
    • RegistryPermission
    • RegistryPermissionAttribute
    • ResourcePermission
    • ResourcePermissionEntry
    • SecurityAttribute
    • SecurityPermission
    • SecurityPermissionAttribute
    • SiteIdentityPermission
    • SiteIdentityPermissionAttribute
    • StrongNameIdentityPermission
    • StrongNameIdentityPermissionAttribute
    • StrongNamePublicKeyBlob
    • UIPermission
    • UIPermissionAttribute
    • UrlIdentityPermission
    • UrlIdentityPermissionAttribute
    • ZoneIdentityPermission
    • ZoneIdentityPermissionAttribute

    Mode, Share and Access of Files

    FileMode

    FileMode parameter control has the following members:

    • Append - Append to an existing file or create a new file if the file not exists
    • Create - Create a new file
    • Open - Open the file
    • OpenCreate - Open a file if exists or it will create a file
    • Truncate - Remove all the contents so that its size is zero bytes

    Example:

    Dim objStreamReader
    As New StreamReader("C:\benoy\Mytext.txt")
    MessageBox.Show(objStreamReader.ReadToEnd()
    objStreamReader.Close()

    FileShare

    FileShare enumeration allows you to control the share permission to access the FileStreams.

    Some of the members included in the FileShare enumerations are Read, ReadWrite, Write, None, Inheritable etc.

    Read command allows you to opening the file for reading.
    ReadWrite command allows you to opening the file for reading and writing.
    Write command allows you to opening the file for writing.


    Dim objFileStream As New
    FileStream("C:\benoy\Mytext.txt", _
    FileMode.OpenOrCreateOpen,
    FileAccess.ReadWrite,
    FileShare.ReadWrite)

    FileAccess

    FileAccess enumeration allows you to control the permission to access the FileStreams.

    Some of the members included in the FileAccess enumerations are Read, ReadWrite, Write etc.

    Conclusion

    In this article, we found how to manage windows file operations using different file level operation commands. It allows you to set file permissions, modes, access and sharing of files using VB.NET environment.

    • File System Management and its uses
    • File Permissions
    • File modes, File Access, File Shares

    Comment Request!
    Thank you for reading this post. Please post your feedback, question, or comments about this post Here.
    Login to add your contents and source code to this article
     [Top] Rate this article
     
     About the author
     
    Binoy R
    Looking for C# Consulting?
    C# Consulting is founded in 2002 by the founders of C# Corner. Unlike a traditional consulting company, our consultants are well-known experts in .NET and many of them are MVPs, authors, and trainers. We specialize in Microsoft .NET development and utilize Agile Development and Extreme Programming practices to provide fast pace quick turnaround results. Our software development model is a mix of Agile Development, traditional SDLC, and Waterfall models.
    Click here to learn more about C# Consulting.
     
    Introducing MaxV - one click. infinite control. Hyper-V Hosting from MaximumASP.
    Finally – a virtual platform that delivers next-generation Windows Server 2008 Hyper-V virtualization technology from a managed hosting partner you can truly depend on. Visit www.maximumasp.com/max for a FREE 30 day trial. Hurry offer ends soon. Climb aboard the MaxV platform and take advantage of High Availability, Intelligent Monitoring, Recurrent Backups, and Scalability – with no hassle or hidden fees. As a managed hosting partner focused solely on Microsoft technologies since 2000, MaximumASP is uniquely qualified to provide the superior support that our business is built on. Unparalleled expertise with Microsoft technologies lead to working directly with Microsoft as first to offer IIS 7 and SQL 2008 betas in a hosted environment; partnering in the Go Live Program for Hyper-V; and product co-launches built on WS 2008 with Hyper-V technology.
    Dynamic PDF
    ceTE software specializes in components for dynamic PDF generation and manipulation. The DynamicPDF™ product line allows you to dynamically generate PDF documents, merge PDF documents and new content to existing PDF documents from within your applications.
    Nevron Chart for .NET 2010.1 Now Available
    The leading .NET charting control now features PDF, Flash and Silverlight export, visualization of large datasets and more. Deliver true charting functionality to your BI, Scorecard, Presentation or Scientific apps. Download evaluation now.
    ASP.NET 4 Hosting
    Get 2 Months Free of ASP.NET Hosting for Only $4.95/month! Receive FREE MS SQL and MySQL Databases Including ASP.NET 4/3.5, MVC 3.0, Silverlight 4, Windows 2008/IIS 7.0 Plus FREE IIS 7 Modules. Host UNLIMITED ASP.NET Web Sites – Click Here!
     
     Post a Feedback, Comment, or Question about this article
    Subject:
    Comment:
    6 Months Free & No Setup Fees ASP.NET Hosting!
    Become a Sponsor
     Comments
    6 Months Free & No Setup Fees ASP.NET Hosting!
     © 2012  contents copyright of their authors. Rest everything copyright Mindcracker. All rights reserved.