This class can be used as an interface to a particular file but not to the actual data within the file.
You can use this class to open files but if you want to read and write the contents then you must use the FileStream class.
One drawback of using these methods is that the text streams returned use the UTF-8 encoding.
This is fine for a lot of applications but if the file contains any characters that are not recognised then these are usually just ignored.
Using the StreamReader and StreamWriter constructors directly avoids any possible encoding issues.
These classes also allow you to set the buffer size (useful for optimisation) as well as being able to specify the byte order (to guarantee the correct encoding).
|AppendAllLines||Opens a file and appends lines to the end of the file and closes the file.|
|AppendAllLinesAsync||Asychronously opens a file and appends lines to the end of the file and closes the file.|
|AppendAllText||Opens a file and appends a string to the end of the file and then closes the file.|
|AppendAllTextAsync||Asychronously opens a file and appends a string to the end of the file and then closes the file.|
|AppendText||Opens a text file in append mode returning a StreamWriter object|
|Copy||Copies a file to a new destination|
|Create||Creates and opens a file returning a FileStream object|
|CreateText||Creates a text file returning a StreamWriter object|
|Delete||Deletes a file|
|Exists||Returns True if the file exists|
|GetAttributes||Returns the attributes of a file|
|GetCreationTime||Returns the creation time of the file|
|GetLastAccessTime||Returns the last access time of the file|
|GetLastWriteTime||Returns the last write time of a file|
|Move||Moves a file|
|Open||Opens a file with a specified mode, access and share returning a FileStream object|
|OpenRead||Opens a file in read mode returning a FileStream object|
|OpenText||Opens a text file for reading returning a StreamReader object|
|OpenWrite||Opens a file in write mode returning a FileStream object|
|ReadAllBytes||Opens a binary file and reads the contents into a byte array and then closes the file.|
|ReadAllBytesAsync||Aschronously opens a binary file and reads the contents into a byte array and then closes the file.|
|ReadAllLines||Opens a text file and reads all the lines of the file and then closes the file.|
|ReadAllLinesAsync||Asynchronously opens a text file and reads all the lines of the file and then closes the file.|
|ReadAllText||Opens a text file and reads all the text in the file and then closes the file.|
|ReadAllTextAsync||Asynchronously opens a text file and reads all the text in the file and closes the file.|
|ReadLines||Reads all the lines of a file.|
|Replace||Replaces the contents os a specified file with the contents of another file, deleting the original file and creating a backup of the replaced file.|
|SetAttributes||Sets the attributes for a file|
|SetCreatiionTime||Sets the creation time of the file|
|SetLastAccessTime||Sets the last access time of the file|
|SetLastWriteTime||Sets the last write time of the file|
FileMode is an enumeration of values used to specify the type of file access.
FileMode.CreateNew - creates a new file assuming it doesn't already exist.
FileMode.OpenOrCreate - Opens a file if it exists or creates it if it doesn't exist
FileMode.Create - Creates a new file silently overwriting if it already exists.
Opens a file with a specified mode, access and share returning a FileStream object
The sharing mode lets you control whether or not other processes can read from or write to the file while you have it open.
A lot of the arguments correspond to overloads of the FileStream constructor.
This method gives you greater (than the Create, OpenRead and OpenWrite methods) when creating new files.
If you want total control when opening and creating files then you should use the FileStream constructor.
System.IO.File.Open(file [,mode [,access [,share ]]])
FileMode.Append | Create | CreateNew | Open | OpenOrCreate | Truncate, _
FileAccess.Read | Write | ReadWrite, _
FileShare.None | ReadWrite | Read | Write | Inheritable
Opens an existing file in read mode returning a FileStream object
The file is opened using the default sharing mode
The FileStream is positioned at the beginning of the file.
oFileStream = System.IO.File.OpenRead("C:\Temp\textfile.txt");
Opens a file in write mode returning a FileStream object
Any existing data in the file will be overwritten.
If the file you are trying to open does not exist then it will be created.
Opens a text file for reading returning a StreamReader object
This method returns a StreamReader that is positioned at the beginning of the file.
Creates a text file and opens it for reading. This returns a StreamWriter object.
If the file you want to create already exists then it is overwritten.
This method can be used if you want to append data to a text file.
Opens an existing text file in append mode returning a StreamWriter object
If the file you want to open does not exist then a new file is created.
Copies a file from one location to another.
This method will fail if the file already exists and you have not explicitly stated to overwrite the file.
You also have the option to overwrite the file it it already exists.
System.IO.File.Copy(source, dest [,overwrite]);
Deletes an existing file
This method will throw an exception if the file is in use or if you do not have access (or permission) to delete it.
It will not throw an exception if the file does not exist.
Returns a DateTime telling you when the file was created.
© 2023 Better Solutions Limited. All Rights Reserved. © 2023 Better Solutions Limited TopPrevNext