FileInfo::Open Method (FileMode)
Opens a file in the specified mode.
Assembly: mscorlib (in mscorlib.dll)
Parameters
- mode
-
Type:
System.IO::FileMode
A FileMode constant specifying the mode (for example, Open or Append) in which to open the file.
Return Value
Type: System.IO::FileStream^A file opened in the specified mode, with read/write access and unshared.
| Exception | Condition |
|---|---|
| FileNotFoundException | The file is not found. |
| UnauthorizedAccessException | The file is read-only or is a directory. |
| DirectoryNotFoundException | The specified path is invalid, such as being on an unmapped drive. |
| IOException | The file is already open. |
The following example opens a file, adds some information to the file, and reads the file.
using namespace System; using namespace System::IO; using namespace System::Text; int main() { String^ path = "c:\\MyTest.txt"; FileInfo^ fi = gcnew FileInfo( path ); // Delete the file if it exists. if ( !fi->Exists ) { //Create the file. FileStream^ fs = fi->Create(); try { array<Byte>^info = (gcnew UTF8Encoding( true ))->GetBytes( "This is some text in the file." ); //Add some information to the file. fs->Write( info, 0, info->Length ); } finally { if ( fs ) delete (IDisposable^)fs; } } //Open the stream and read it back. FileStream^ fs = fi->Open( FileMode::Open ); try { array<Byte>^b = gcnew array<Byte>(1024); UTF8Encoding^ temp = gcnew UTF8Encoding( true ); while ( fs->Read( b, 0, b->Length ) > 0 ) { Console::WriteLine( temp->GetString( b ) ); } } finally { if ( fs ) delete (IDisposable^)fs; } } //This code produces output similar to the following; //results may vary based on the computer/file structure/etc.: // //This is some text in the file. // // // // // // // // // // // // //
for writing to and reading from files. Associated enumerations: FileIOPermissionAccess::Write and FileIOPermissionAccess::Read
Available since 10
.NET Framework
Available since 1.1
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0