Export (0) Print
Expand All
9 out of 15 rated this helpful - Rate this topic

File Class

Provides static methods for the creation, copying, deletion, moving, and opening of a single file, and aids in the creation of FileStream objects.

To browse the .NET Framework source code for this type, see the Reference Source.

Namespace:  System.IO
Assembly:  mscorlib (in mscorlib.dll)
[ComVisibleAttribute(true)]
public static class File

The File type exposes the following members.

  NameDescription
Public methodStatic memberAppendAllLines(String, IEnumerable<String>)Appends lines to a file, and then closes the file. If the specified file does not exist, this method creates a file, writes the specified lines to the file, and then closes the file.
Public methodStatic memberAppendAllLines(String, IEnumerable<String>, Encoding)Appends lines to a file by using a specified encoding, and then closes the file. If the specified file does not exist, this method creates a file, writes the specified lines to the file, and then closes the file.
Public methodStatic memberAppendAllText(String, String)Opens a file, appends the specified string to the file, and then closes the file. If the file does not exist, this method creates a file, writes the specified string to the file, then closes the file.
Public methodStatic memberAppendAllText(String, String, Encoding)Appends the specified string to the file, creating the file if it does not already exist.
Public methodStatic memberSupported by the XNA FrameworkAppendTextCreates a StreamWriter that appends UTF-8 encoded text to an existing file, or to a new file if the specified file does not exist.
Public methodStatic memberSupported by the XNA FrameworkCopy(String, String)Copies an existing file to a new file. Overwriting a file of the same name is not allowed.
Public methodStatic memberSupported by the XNA FrameworkCopy(String, String, Boolean)Copies an existing file to a new file. Overwriting a file of the same name is allowed.
Public methodStatic memberSupported by the XNA FrameworkCreate(String)Creates or overwrites a file in the specified path.
Public methodStatic memberSupported by the XNA FrameworkCreate(String, Int32)Creates or overwrites the specified file.
Public methodStatic memberCreate(String, Int32, FileOptions)Creates or overwrites the specified file, specifying a buffer size and a FileOptions value that describes how to create or overwrite the file.
Public methodStatic memberCreate(String, Int32, FileOptions, FileSecurity)Creates or overwrites the specified file with the specified buffer size, file options, and file security.
Public methodStatic memberSupported by the XNA FrameworkCreateTextCreates or opens a file for writing UTF-8 encoded text.
Public methodStatic memberDecryptDecrypts a file that was encrypted by the current account using the Encrypt method.
Public methodStatic memberSupported by the XNA FrameworkDeleteDeletes the specified file.
Public methodStatic memberEncryptEncrypts a file so that only the account used to encrypt the file can decrypt it.
Public methodStatic memberSupported by the XNA FrameworkExistsDetermines whether the specified file exists.
Public methodStatic memberGetAccessControl(String)Gets a FileSecurity object that encapsulates the access control list (ACL) entries for a specified file.
Public methodStatic memberGetAccessControl(String, AccessControlSections)Gets a FileSecurity object that encapsulates the specified type of access control list (ACL) entries for a particular file.
Public methodStatic memberGetAttributesGets the FileAttributes of the file on the path.
Public methodStatic memberSupported by the XNA FrameworkGetCreationTimeReturns the creation date and time of the specified file or directory.
Public methodStatic memberGetCreationTimeUtcReturns the creation date and time, in coordinated universal time (UTC), of the specified file or directory.
Public methodStatic memberSupported by the XNA FrameworkGetLastAccessTimeReturns the date and time the specified file or directory was last accessed.
Public methodStatic memberGetLastAccessTimeUtcReturns the date and time, in coordinated universal time (UTC), that the specified file or directory was last accessed.
Public methodStatic memberSupported by the XNA FrameworkGetLastWriteTimeReturns the date and time the specified file or directory was last written to.
Public methodStatic memberGetLastWriteTimeUtcReturns the date and time, in coordinated universal time (UTC), that the specified file or directory was last written to.
Public methodStatic memberSupported by the XNA FrameworkMoveMoves a specified file to a new location, providing the option to specify a new file name.
Public methodStatic memberSupported by the XNA FrameworkOpen(String, FileMode)Opens a FileStream on the specified path with read/write access.
Public methodStatic memberSupported by the XNA FrameworkOpen(String, FileMode, FileAccess)Opens a FileStream on the specified path, with the specified mode and access.
Public methodStatic memberSupported by the XNA FrameworkOpen(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.
Public methodStatic memberSupported by the XNA FrameworkOpenReadOpens an existing file for reading.
Public methodStatic memberSupported by the XNA FrameworkOpenTextOpens an existing UTF-8 encoded text file for reading.
Public methodStatic memberSupported by the XNA FrameworkOpenWriteOpens an existing file or creates a new file for writing.
Public methodStatic memberReadAllBytesOpens a binary file, reads the contents of the file into a byte array, and then closes the file.
Public methodStatic memberReadAllLines(String)Opens a text file, reads all lines of the file, and then closes the file.
Public methodStatic memberReadAllLines(String, Encoding)Opens a file, reads all lines of the file with the specified encoding, and then closes the file.
Public methodStatic memberReadAllText(String)Opens a text file, reads all lines of the file, and then closes the file.
Public methodStatic memberReadAllText(String, Encoding)Opens a file, reads all lines of the file with the specified encoding, and then closes the file.
Public methodStatic memberReadLines(String)Reads the lines of a file.
Public methodStatic memberReadLines(String, Encoding)Read the lines of a file that has a specified encoding.
Public methodStatic memberReplace(String, String, String)Replaces the contents of a specified file with the contents of another file, deleting the original file, and creating a backup of the replaced file.
Public methodStatic memberReplace(String, String, String, Boolean)Replaces the contents of a specified file with the contents of another file, deleting the original file, and creating a backup of the replaced file and optionally ignores merge errors.
Public methodStatic memberSetAccessControlApplies access control list (ACL) entries described by a FileSecurity object to the specified file.
Public methodStatic memberSetAttributesSets the specified FileAttributes of the file on the specified path.
Public methodStatic memberSetCreationTimeSets the date and time the file was created.
Public methodStatic memberSetCreationTimeUtcSets the date and time, in coordinated universal time (UTC), that the file was created.
Public methodStatic memberSetLastAccessTimeSets the date and time the specified file was last accessed.
Public methodStatic memberSetLastAccessTimeUtcSets the date and time, in coordinated universal time (UTC), that the specified file was last accessed.
Public methodStatic memberSetLastWriteTimeSets the date and time that the specified file was last written to.
Public methodStatic memberSetLastWriteTimeUtcSets the date and time, in coordinated universal time (UTC), that the specified file was last written to.
Public methodStatic memberWriteAllBytesCreates a new file, writes the specified byte array to the file, and then closes the file. If the target file already exists, it is overwritten.
Public methodStatic memberWriteAllLines(String, IEnumerable<String>)Creates a new file, writes a collection of strings to the file, and then closes the file.
Public methodStatic memberWriteAllLines(String, String[])Creates a new file, write the specified string array to the file, and then closes the file.
Public methodStatic memberWriteAllLines(String, IEnumerable<String>, Encoding)Creates a new file by using the specified encoding, writes a collection of strings to the file, and then closes the file.
Public methodStatic memberWriteAllLines(String, String[], Encoding)Creates a new file, writes the specified string array to the file by using the specified encoding, and then closes the file.
Public methodStatic memberWriteAllText(String, String)Creates a new file, writes the specified string to the file, and then closes the file. If the target file already exists, it is overwritten.
Public methodStatic memberWriteAllText(String, String, Encoding)Creates a new file, writes the specified string to the file using the specified encoding, and then closes the file. If the target file already exists, it is overwritten.
Top
NoteNote

To view the .NET Framework source code for this type, see the Reference Source. You can browse through the source code online, download the reference for offline viewing, and step through the sources (including patches and updates) during debugging; see instructions.

Use the File class for typical operations such as copying, moving, renaming, creating, opening, deleting, and appending to a single file at a time. 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. If you want to perform operations on multiple files, see GetFiles or GetFiles.

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.

By default, full read/write access to new files is granted to all users.

The following table describes the enumerations that are used to customize the behavior of various File methods.

Enumeration

Description

FileAccess

Specifies read and write access to a file.

FileShare

Specifies the level of access permitted for a file that is already in use.

FileMode

Specifies whether the contents of an existing file are preserved or overwritten, and whether requests to create an existing file cause an exception.

NoteNote

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.

In members that accept a path, the path can refer to a file or just a directory. The specified path can also refer to a relative path or a Universal Naming Convention (UNC) path for a server and share name. For example, all the following are acceptable paths:

  • "c:\\MyDir\\MyFile.txt" in C#, or "c:\MyDir\MyFile.txt" in Visual Basic.

  • "c:\\MyDir" in C#, or "c:\MyDir" in Visual Basic.

  • "MyDir\\MySubdir" in C#, or "MyDir\MySubDir" in Visual Basic.

  • "\\\\MyServer\\MyShare" in C#, or "\\MyServer\MyShare" in Visual Basic.

For a list of common I/O tasks, see Common I/O Tasks.

The following example demonstrates how to use the File class to check whether a file exists, and depending on the result, either create a new file and write to it, or open the existing file and read from it.

using System;
using System.IO;

class Test
{
    public static void Main()
    {
        string path = @"c:\temp\MyTest.txt";
        if (!File.Exists(path))
        {
            // Create a file to write to. 
            using (StreamWriter sw = File.CreateText(path))
            {
                sw.WriteLine("Hello");
                sw.WriteLine("And");
                sw.WriteLine("Welcome");
            }
        }

        // Open the file to read from. 
        using (StreamReader sr = File.OpenText(path))
        {
            string s = "";
            while ((s = sr.ReadLine()) != null)
            {
                Console.WriteLine(s);
            }
        }
    }
}

.NET Framework

Supported in: 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

.NET for Windows Phone apps

Supported in: Windows Phone 8.1, Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Show:
© 2014 Microsoft. All rights reserved.