File Class
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
Provides static methods for the creation, copying, deletion, moving, and opening of files, and aids in the creation of FileStream objects.
Assembly: mscorlib (in mscorlib.dll)
The File type exposes the following members.
| Name | Description | |
|---|---|---|
![]() ![]() | AppendText | Creates a StreamWriter that appends UTF-8 encoded text to an existing file. |
![]() ![]() | Copy(String, String) | Copies an existing file to a new file. Overwriting a file of the same name is not allowed. |
![]() ![]() | Copy(String, String, Boolean) | Copies an existing file to a new file. Overwriting a file of the same name is allowed. |
![]() ![]() | Create(String) | Creates or overwrites a file in the specified path. |
![]() ![]() | Create(String, Int32) | Creates or overwrites the specified file. |
![]() ![]() | CreateText | Creates or opens a file for writing UTF-8 encoded text. |
![]() ![]() | Delete | Deletes the specified file. An exception is not thrown if the specified file does not exist. |
![]() ![]() | Exists | Determines whether the specified file exists. |
![]() ![]() | GetCreationTime | Returns the creation date and time of the specified file or directory. |
![]() ![]() | GetLastAccessTime | Returns the date and time the specified file or directory was last accessed. |
![]() ![]() | GetLastWriteTime | Returns the date and time the specified file or directory was last written to. |
![]() ![]() | Move | Moves a specified file to a new location, providing the option to specify a new file name. |
![]() ![]() | Open(String, FileMode) | Opens a FileStream on the specified path with read/write access. |
![]() ![]() | Open(String, FileMode, FileAccess) | Opens a FileStream on the specified path, with the specified mode and access. |
![]() ![]() | Open(String, FileMode, FileAccess, FileShare) | Opens a FileStream on the specified path, having the specified mode with read, write, or read/write access and the specified sharing option. |
![]() ![]() | OpenRead | Opens an existing file for reading. |
![]() ![]() | OpenText | Opens an existing UTF-8 encoded text file for reading. |
![]() ![]() | OpenWrite | Opens an existing file for writing. |
![]() ![]() | SetAttributes | Security Critical. Sets the specified FileAttributes of the file on the specified path. |
Use the File class for typical operations such as copying, moving, renaming, creating, opening, deleting, and appending to files. You can also use the File class to get and set file attributes or DateTime information related to the creation, access, and writing of a file.
Many of the File methods return other I/O types when you create or open files. You can use these other types to further manipulate a file. For more information, see specific File members such as OpenText, CreateText, or Create.
Because all File methods are static, it might be more efficient to use a File method rather than a corresponding FileInfo instance method if you want to perform only one action. All File methods require the path to the file that you are manipulating.
The static methods of the File class perform security checks on all methods. If you are going to reuse an object several times, consider using the corresponding instance method of FileInfo instead, because the security check will not always be necessary.
The following table describes the enumerations that are used to customize the behavior of various File methods.
Enumeration | Description |
|---|---|
Specifies read and write access to a file. | |
Specifies the level of access permitted for a file that is already in use. | |
Specifies whether the contents of an existing file are preserved or overwritten, and whether requests to create an existing file cause an exception. |
Note: |
|---|
In members that accept a path as an input string, that path must be well-formed or an exception is raised. For example, if a path is fully qualified but begins with a space, the path is not trimmed in methods of the class. Therefore, the path is malformed and an exception is raised. Similarly, a path or a combination of paths cannot be fully qualified twice. For example, "c:\temp c:\windows" also raises an exception in most cases. Ensure that your paths are well-formed when using methods that accept a path string. |
Version Notes
Windows Phone
This type is present to support the .NET Compact Framework infrastructure in Windows Phone, and it is not intended to be used in your application code.The following example uses a File to determine if a file exists in a users' My Documents folder. This code example is part of a larger example provided for the StreamReader class.


Note: