FileInfo.OpenWrite Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Crea un FileStream de solo escritura.
public:
System::IO::FileStream ^ OpenWrite();
public System.IO.FileStream OpenWrite ();
member this.OpenWrite : unit -> System.IO.FileStream
Public Function OpenWrite () As FileStream
Devoluciones
Objeto no compartido de solo escritura FileStream para un archivo nuevo o existente.
Excepciones
La ruta de acceso especificada al crear una instancia del objeto FileInfo es de solo lectura o es un directorio.
La ruta de acceso especificada al crear una instancia del objeto FileInfo no es válida, como si estuviera en una unidad no asignada.
Ejemplos
En el ejemplo siguiente se abre un archivo para escribir y, a continuación, se lee en él.
using namespace System;
using namespace System::IO;
using namespace System::Text;
int main()
{
String^ path = "c:\\Temp\\MyTest.txt";
FileInfo^ fi = gcnew FileInfo( path );
// Open the stream for writing.
{
FileStream^ fs = fi->OpenWrite();
try
{
array<Byte>^info = (gcnew UTF8Encoding( true ))->GetBytes( "This is to test the OpenWrite method." );
// 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->OpenRead();
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 to test the OpenWrite method.
//
//
//
//
//
//
//
//
//
//
//
//
using System;
using System.IO;
using System.Text;
class Test
{
public static void Main()
{
string path = @"c:\Temp\MyTest.txt";
FileInfo fi = new FileInfo(path);
// Open the stream for writing.
using (FileStream fs = fi.OpenWrite())
{
Byte[] info =
new UTF8Encoding(true).GetBytes("This is to test the OpenWrite method.");
// Add some information to the file.
fs.Write(info, 0, info.Length);
}
// Open the stream and read it back.
using (FileStream fs = fi.OpenRead())
{
byte[] b = new byte[1024];
UTF8Encoding temp = new UTF8Encoding(true);
while (fs.Read(b,0,b.Length) > 0)
{
Console.WriteLine(temp.GetString(b));
}
}
}
}
//This code produces output similar to the following;
//results may vary based on the computer/file structure/etc.:
//
//This is to test the OpenWrite method.
//
//
//
//
//
//
//
//
//
//
//
Imports System.IO
Imports System.Text
Public Class Test
Public Shared Sub Main()
Dim path As String = "c:\Temp\MyTest.txt"
Dim fi As FileInfo = New FileInfo(path)
Dim fs As FileStream
' Open the stream for writing.
fs = fi.OpenWrite()
Dim info As Byte() = _
New UTF8Encoding(True).GetBytes("This is to test the OpenWrite method.")
' Add some information to the file.
fs.Write(info, 0, info.Length)
fs.Close()
'Open the stream and read it back.
fs = fi.OpenRead()
Dim b(1023) As Byte
Dim temp As UTF8Encoding = New UTF8Encoding(True)
Do While fs.Read(b, 0, b.Length) > 0
Console.WriteLine(temp.GetString(b))
Loop
fs.Close()
End Sub
End Class
'This code produces output similar to the following;
'results may vary based on the computer/file structure/etc.:
'
'This is to test the OpenWrite method.
'
'
'
'
'
'
'
'
'
'
'
'
Comentarios
El OpenWrite método abre un archivo si ya existe uno para la ruta de acceso del archivo o crea un nuevo archivo si no existe uno. Para un archivo existente, no anexa el nuevo texto al texto existente. En su lugar, sobrescribe los caracteres existentes con los nuevos caracteres. Si sobrescribe una cadena más larga (por ejemplo, "Se trata de una prueba del método OpenWrite") con una cadena más corta (como "Segunda ejecución"), el archivo contendrá una combinación de las cadenas ("Second runtest of the OpenWrite method").