File.Open Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Belirtilen yolda bir FileStream açar.
Aşırı Yüklemeler
Open(String, FileMode, FileAccess, FileShare) |
Belirtilen modda okuma, yazma veya okuma/yazma erişimine ve belirtilen paylaşım seçeneğine sahip olarak belirtilen yolda bir FileStream açar. |
Open(String, FileMode) |
Belirtilen yolda paylaşım olmadan okuma/yazma erişimi olan bir FileStream açar. |
Open(String, FileStreamOptions) |
Sınıfın FileStream yeni bir örneğini belirtilen yol, oluşturma modu, okuma/yazma ve paylaşma izniyle başlatır, diğer FileStream'lere erişim aynı dosyaya, arabellek boyutuna, ek dosya seçeneklerine ve ayırma boyutuna sahip olabilir. |
Open(String, FileMode, FileAccess) |
Belirtilen yolda, belirtilen mod ve paylaşım olmadan erişim ile bir FileStream açar. |
Open(String, FileMode, FileAccess, FileShare)
- Kaynak:
- File.cs
- Kaynak:
- File.cs
- Kaynak:
- File.cs
Belirtilen modda okuma, yazma veya okuma/yazma erişimine ve belirtilen paylaşım seçeneğine sahip olarak belirtilen yolda bir FileStream açar.
public:
static System::IO::FileStream ^ Open(System::String ^ path, System::IO::FileMode mode, System::IO::FileAccess access, System::IO::FileShare share);
public static System.IO.FileStream Open (string path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share);
static member Open : string * System.IO.FileMode * System.IO.FileAccess * System.IO.FileShare -> System.IO.FileStream
Public Shared Function Open (path As String, mode As FileMode, access As FileAccess, share As FileShare) As FileStream
Parametreler
- path
- String
Açılacak dosya.
- mode
- FileMode
Yoksa FileMode bir dosyanın oluşturulup oluşturulmadığını belirten ve var olan dosyaların içeriğinin korunup korunmadığını veya üzerine yazılıp yazılmayacağını belirleyen bir değer.
- access
- FileAccess
FileAccess Dosyada gerçekleştirilebilecek işlemleri belirten bir değer.
- share
- FileShare
FileShare Diğer iş parçacıklarının dosyaya sahip olduğu erişim türünü belirten bir değer.
Döndürülenler
FileStream Belirtilen yolda, okuma, yazma veya okuma/yazma erişimiyle belirtilen moda ve belirtilen paylaşım seçeneğine sahip.
Özel durumlar
2.1'den eski .NET Framework ve .NET Core sürümleri: path
sıfır uzunlukta bir dizedir, yalnızca boşluk içerir veya bir veya daha fazla geçersiz karakter içerir. yöntemini kullanarak GetInvalidPathChars() geçersiz karakterleri sorgulayabilirsiniz.
-veya-
access
belirtildi Read
ve mode
belirtildi Create
, CreateNew
, Truncate
, veya Append
.
path
, null
değeridir.
Belirtilen yol, dosya adı veya her ikisi birden sistem tarafından tanımlanan en fazla uzunluğu aşıyor.
Belirtilen yol geçersiz (örneğin, yol eşlenmemiş bir sürücü üzerinde).
Dosyayı açarken bir G/Ç hatası oluştu.
path
salt okunur ve access
olmayan Read
bir dosya belirtti.
-veya-
path
bir dizin belirtti.
-veya-
Çağıranın gerekli izni yok.
-veya-
mode
ve Create belirtilen dosya gizli bir dosyadır.
mode
, access
veya share
geçersiz bir değer belirtti.
içinde path
belirtilen dosya bulunamadı.
path
geçersiz bir biçimde.
Örnekler
Aşağıdaki örnek, salt okunur erişimi olan ve dosya paylaşımına izin verilmeyen bir dosya açar.
using namespace System;
using namespace System::IO;
using namespace System::Text;
int main()
{
String^ path = "c:\\temp\\MyTest.txt";
// Create the file if it does not exist.
if ( !File::Exists( path ) )
{
// Create the file.
FileStream^ fs = File::Create( path );
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 = File::Open( path, FileMode::Open, FileAccess::Read, FileShare::None );
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 ) );
}
try
{
// Try to get another handle to the same file.
FileStream^ fs2 = File::Open( path, FileMode::Open );
try
{
// Do some task here.
}
finally
{
if ( fs2 )
delete (IDisposable^)fs2;
}
}
catch ( Exception^ e )
{
Console::Write( "Opening the file twice is disallowed." );
Console::WriteLine( ", as expected: {0}", e );
}
}
finally
{
if ( fs )
delete (IDisposable^)fs;
}
}
using System;
using System.IO;
using System.Text;
class Test
{
public static void Main()
{
string path = @"c:\temp\MyTest.txt";
// Create the file if it does not exist.
if (!File.Exists(path))
{
// Create the file.
using (FileStream fs = File.Create(path))
{
Byte[] info = new UTF8Encoding(true).GetBytes("This is some text in the file.");
// Add some information to the file.
fs.Write(info, 0, info.Length);
}
}
// Open the stream and read it back.
using (FileStream fs = File.Open(path, FileMode.Open, FileAccess.Read, FileShare.None))
{
byte[] b = new byte[1024];
UTF8Encoding temp = new UTF8Encoding(true);
while (fs.Read(b,0,b.Length) > 0)
{
Console.WriteLine(temp.GetString(b));
}
try
{
// Try to get another handle to the same file.
using (FileStream fs2 = File.Open(path, FileMode.Open))
{
// Do some task here.
}
}
catch (Exception e)
{
Console.Write("Opening the file twice is disallowed.");
Console.WriteLine(", as expected: {0}", e.ToString());
}
}
}
}
open System.IO
open System.Text
let path = @"c:\temp\MyTest.txt"
// Create the file if it does not exist.
if File.Exists path |> not then
// Create the file.
use fs = File.Create path
let info =
UTF8Encoding(true)
.GetBytes "This is some text in the file."
// Add some information to the file.
fs.Write(info, 0, info.Length)
// Open the stream and read it back.
do
use fs =
File.Open(path, FileMode.Open, FileAccess.Read, FileShare.None)
let b = Array.zeroCreate 1024
let temp = UTF8Encoding true
while fs.Read(b, 0, b.Length) > 0 do
printfn $"{temp.GetString b}"
try
// Try to get another handle to the same file.
use fs2 = File.Open(path, FileMode.Open)
// Do some task here.
()
with
| e -> printf "Opening the file twice is disallowed, as expected: {e}"
Imports System.IO
Imports System.Text
Public Class Test
Public Shared Sub Main()
Dim path As String = "c:\temp\MyTest.txt"
' Create the file if it does not exist.
If Not File.Exists(path) Then
' Create the file.
Using fs As FileStream = File.Create(path)
Dim info As Byte() = New UTF8Encoding(True).GetBytes("This is some text in the file.")
' Add some information to the file.
fs.Write(info, 0, info.Length)
End Using
End If
' Open the stream and read it back.
Using fs As FileStream = File.Open(path, FileMode.Open, FileAccess.Read, FileShare.None)
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
Try
' Try to get another handle to the same file.
Using fs2 As FileStream = File.Open(path, FileMode.Open)
' Do some task here.
End Using
Catch e As Exception
Console.Write("Opening the file twice is disallowed.")
Console.WriteLine(", as expected: {0}", e.ToString())
End Try
End Using
End Sub
End Class
Açıklamalar
parametresinin path
göreli veya mutlak yol bilgilerini belirtmesine izin verilir. Göreli yol bilgisi, geçerli çalışma dizinine göre yorumlanır. Geçerli çalışma dizinini edinmek için bkz GetCurrentDirectory. .
Yaygın G/Ç görevlerinin listesi için bkz. Ortak G/Ç Görevleri.
Ayrıca bkz.
Şunlara uygulanır
Open(String, FileMode)
- Kaynak:
- File.cs
- Kaynak:
- File.cs
- Kaynak:
- File.cs
Belirtilen yolda paylaşım olmadan okuma/yazma erişimi olan bir FileStream açar.
public:
static System::IO::FileStream ^ Open(System::String ^ path, System::IO::FileMode mode);
public static System.IO.FileStream Open (string path, System.IO.FileMode mode);
static member Open : string * System.IO.FileMode -> System.IO.FileStream
Public Shared Function Open (path As String, mode As FileMode) As FileStream
Parametreler
- path
- String
Açılacak dosya.
- mode
- FileMode
Yoksa FileMode bir dosyanın oluşturulup oluşturulmadığını belirten ve var olan dosyaların içeriğinin korunup korunmadığını veya üzerine yazılıp yazılmayacağını belirleyen bir değer.
Döndürülenler
FileStream Okuma/yazma erişimi olan ve paylaşılmayan, belirtilen modda ve yolda açılan.
Özel durumlar
2.1'den eski .NET Framework ve .NET Core sürümleri: path
sıfır uzunlukta bir dizedir, yalnızca boşluk içerir veya bir veya daha fazla geçersiz karakter içerir. yöntemini kullanarak GetInvalidPathChars() geçersiz karakterleri sorgulayabilirsiniz.
path
, null
değeridir.
Belirtilen yol, dosya adı veya her ikisi birden sistem tarafından tanımlanan en fazla uzunluğu aşıyor.
Belirtilen yol geçersiz (örneğin, yol eşlenmemiş bir sürücü üzerinde).
Dosyayı açarken bir G/Ç hatası oluştu.
path
salt okunur bir dosya belirtti.
-veya-
Bu işlem geçerli platformda desteklenmiyor.
-veya-
path
bir dizin belirtti.
-veya-
Çağıranın gerekli izni yok.
-veya-
mode
ve Create belirtilen dosya gizli bir dosyadır.
mode
geçersiz bir değer belirtti.
içinde path
belirtilen dosya bulunamadı.
path
geçersiz bir biçimde.
Örnekler
Aşağıdaki kod örneği geçici bir dosya oluşturur ve dosyaya metin yazar. Örnek daha sonra T:System.IO.FileMode.Open kullanarak dosyayı açar; başka bir ifadeyle, dosya henüz mevcut değilse oluşturulmaz.
using namespace System;
using namespace System::IO;
using namespace System::Text;
int main()
{
// Create a temporary file, and put some data into it.
String^ path = Path::GetTempFileName();
FileStream^ fs = File::Open( path, FileMode::Open, FileAccess::Write, FileShare::None );
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.
fs = File::Open( path, 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;
}
}
using System;
using System.IO;
using System.Text;
class Test
{
public static void Main()
{
// Create a temporary file, and put some data into it.
string path = Path.GetTempFileName();
using (FileStream fs = File.Open(path, FileMode.Open, FileAccess.Write, FileShare.None))
{
Byte[] info = new UTF8Encoding(true).GetBytes("This is some text in the file.");
// Add some information to the file.
fs.Write(info, 0, info.Length);
}
// Open the stream and read it back.
using (FileStream fs = File.Open(path, FileMode.Open))
{
byte[] b = new byte[1024];
UTF8Encoding temp = new UTF8Encoding(true);
while (fs.Read(b,0,b.Length) > 0)
{
Console.WriteLine(temp.GetString(b));
}
}
}
}
open System.IO
open System.Text
// Create a temporary file, and put some data into it.
let path = Path.GetTempFileName()
do
use fs =
File.Open(path, FileMode.Open, FileAccess.Write, FileShare.None)
let info =
UTF8Encoding(true)
.GetBytes "This is some text in the file."
// Add some information to the file.
fs.Write(info, 0, info.Length)
// Open the stream and read it back.
do
use fs = File.Open(path, FileMode.Open)
let b = Array.zeroCreate 1024
let temp = UTF8Encoding true
while fs.Read(b, 0, b.Length) > 0 do
printfn $"{temp.GetString b}"
Imports System.IO
Imports System.Text
Public Class Test
Public Shared Sub Main()
' Create a temporary file, and put some data into it.
Dim path1 As String = Path.GetTempFileName()
Using fs As FileStream = File.Open(path1, FileMode.Open, FileAccess.Write, FileShare.None)
Dim info As Byte() = New UTF8Encoding(True).GetBytes("This is some text in the file.")
' Add some information to the file.
fs.Write(info, 0, info.Length)
End Using
' Open the stream and read it back.
Using fs As FileStream = File.Open(path1, FileMode.Open)
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
End Using
End Sub
End Class
Açıklamalar
parametresinin path
göreli veya mutlak yol bilgilerini belirtmesine izin verilir. Göreli yol bilgisi, geçerli çalışma dizinine göre yorumlanır. Geçerli çalışma dizinini edinmek için bkz GetCurrentDirectory. .
Yaygın G/Ç görevlerinin listesi için bkz. Ortak G/Ç Görevleri.
Ayrıca bkz.
Şunlara uygulanır
Open(String, FileStreamOptions)
- Kaynak:
- File.cs
- Kaynak:
- File.cs
- Kaynak:
- File.cs
Sınıfın FileStream yeni bir örneğini belirtilen yol, oluşturma modu, okuma/yazma ve paylaşma izniyle başlatır, diğer FileStream'lere erişim aynı dosyaya, arabellek boyutuna, ek dosya seçeneklerine ve ayırma boyutuna sahip olabilir.
public:
static System::IO::FileStream ^ Open(System::String ^ path, System::IO::FileStreamOptions ^ options);
public static System.IO.FileStream Open (string path, System.IO.FileStreamOptions options);
static member Open : string * System.IO.FileStreamOptions -> System.IO.FileStream
Public Shared Function Open (path As String, options As FileStreamOptions) As FileStream
Parametreler
- path
- String
Açılacak dosyanın yolu.
- options
- FileStreamOptions
Kullanılacak isteğe bağlı FileStream parametreleri açıklayan bir nesne.
Döndürülenler
FileStream Açılan dosyayı sarmalayan örnek.
Açıklamalar
FileStream(String, FileStreamOptions) özel durumlar hakkında bilgi için.
Şunlara uygulanır
Open(String, FileMode, FileAccess)
- Kaynak:
- File.cs
- Kaynak:
- File.cs
- Kaynak:
- File.cs
Belirtilen modda belirtilen yolda bir FileStream açar ve paylaşım olmadan erişim.
public:
static System::IO::FileStream ^ Open(System::String ^ path, System::IO::FileMode mode, System::IO::FileAccess access);
public static System.IO.FileStream Open (string path, System.IO.FileMode mode, System.IO.FileAccess access);
static member Open : string * System.IO.FileMode * System.IO.FileAccess -> System.IO.FileStream
Public Shared Function Open (path As String, mode As FileMode, access As FileAccess) As FileStream
Parametreler
- path
- String
Açılacak dosya.
- mode
- FileMode
Yoksa FileMode bir dosyanın oluşturulup oluşturulmadığını belirten ve var olan dosyaların içeriğinin korunup korunmadığını veya üzerine yazılıp yazılmayacağını belirleyen bir değer.
- access
- FileAccess
FileAccess Dosyada gerçekleştirilebilecek işlemleri belirten bir değer.
Döndürülenler
Belirtilen dosyaya, belirtilen mod ve erişimle erişim sağlayan paylaşılmayan FileStream .
Özel durumlar
2.1'den eski .NET Framework ve .NET Core sürümleri: path
sıfır uzunlukta bir dizedir, yalnızca boşluk içerir veya bir veya daha fazla geçersiz karakter içerir. yöntemini kullanarak GetInvalidPathChars() geçersiz karakterleri sorgulayabilirsiniz.
-veya-
access
belirtildi Read
ve mode
belirtildi Create
, CreateNew
, Truncate
, veya Append
.
path
, null
değeridir.
Belirtilen yol, dosya adı veya her ikisi birden sistem tarafından tanımlanan en fazla uzunluğu aşıyor.
Belirtilen yol geçersiz (örneğin, yol eşlenmemiş bir sürücü üzerinde).
Dosyayı açarken bir G/Ç hatası oluştu.
path
salt okunur ve access
olmayan Read
bir dosya belirtti.
-veya-
path
bir dizin belirtti.
-veya-
Çağıranın gerekli izni yok.
-veya-
mode
ve Create belirtilen dosya gizli bir dosyadır.
mode
veya access
geçersiz bir değer belirtti.
içinde path
belirtilen dosya bulunamadı.
path
geçersiz bir biçimde.
Örnekler
Aşağıdaki örnekte salt okunur erişime sahip bir dosya açılır.
using namespace System;
using namespace System::IO;
using namespace System::Text;
int main()
{
// This sample assumes that you have a folder named "c:\temp" on your computer.
String^ filePath = "c:\\temp\\MyTest.txt";
// Delete the file if it exists.
if (File::Exists( filePath ))
{
File::Delete( filePath );
}
// Create the file.
FileStream^ fs = File::Create( filePath );
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.
fs = File::Open( filePath, FileMode::Open, FileAccess::Read );
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 ) );
}
try
{
// Try to write to the file.
fs->Write( b, 0, b->Length );
}
catch ( Exception^ e )
{
Console::WriteLine( "Writing was disallowed, as expected: {0}", e->ToString() );
}
}
finally
{
if ( fs )
delete (IDisposable^)fs;
}
}
using System;
using System.IO;
using System.Text;
class Test
{
public static void Main()
{
// This sample assumes that you have a folder named "c:\temp" on your computer.
string filePath = @"c:\temp\MyTest.txt";
// Delete the file if it exists.
if (File.Exists(filePath))
{
File.Delete(filePath);
}
// Create the file.
using (FileStream fs = File.Create(filePath))
{
Byte[] info = new UTF8Encoding(true).GetBytes("This is some text in the file.");
// Add some information to the file.
fs.Write(info, 0, info.Length);
}
// Open the stream and read it back.
using (FileStream fs = File.Open(filePath, FileMode.Open, FileAccess.Read))
{
byte[] b = new byte[1024];
UTF8Encoding temp = new UTF8Encoding(true);
while (fs.Read(b,0,b.Length) > 0)
{
Console.WriteLine(temp.GetString(b));
}
try
{
// Try to write to the file.
fs.Write(b,0,b.Length);
}
catch (Exception e)
{
Console.WriteLine("Writing was disallowed, as expected: {0}", e.ToString());
}
}
}
}
open System.IO
open System.Text
// This sample assumes that you have a folder named "c:\temp" on your computer.
let filePath = @"c:\temp\MyTest.txt"
// Delete the file if it exists.
if File.Exists filePath then
File.Delete filePath
// Create the file.
do
use fs = File.Create filePath
let info =
UTF8Encoding(true)
.GetBytes "This is some text in the file."
// Add some information to the file.
fs.Write(info, 0, info.Length)
// Open the stream and read it back.
do
use fs =
File.Open(filePath, FileMode.Open, FileAccess.Read)
let b = Array.zeroCreate 1024
let temp = UTF8Encoding true
while fs.Read(b, 0, b.Length) > 0 do
printfn $"{temp.GetString b}"
try
// Try to write to the file.
fs.Write(b, 0, b.Length)
with
| e -> printfn $"Writing was disallowed, as expected: {e}"
Imports System.IO
Imports System.Text
Public Class Test
Public Shared Sub Main()
' This sample assumes that you have a folder named "c:\temp" on your computer.
Dim filePath As String = "c:\temp\MyTest.txt"
' Delete the file if it exists.
If File.Exists(filePath) Then
File.Delete(filePath)
End If
' Create the file.
Using fs As FileStream = File.Create(filePath)
Dim info As Byte() = New UTF8Encoding(True).GetBytes("This is some text in the file.")
' Add some information to the file.
fs.Write(info, 0, info.Length)
End Using
' Open the stream and read it back.
Using fs As FileStream = File.Open(filePath, FileMode.Open, FileAccess.Read)
Dim b(1023) As Byte
Dim temp As UTF8Encoding = New UTF8Encoding(True)
' Display the information on the console.
Do While fs.Read(b, 0, b.Length) > 0
Console.WriteLine(temp.GetString(b))
Loop
Try
' Try to write to the file
fs.Write(b, 0, b.Length)
Catch e As Exception
Console.WriteLine("Writing was disallowed, as expected: " & e.ToString())
End Try
End Using
End Sub
End Class
Açıklamalar
parametresinin path
göreli veya mutlak yol bilgilerini belirtmesine izin verilir. Göreli yol bilgisi, geçerli çalışma dizinine göre yorumlanır. Geçerli çalışma dizinini edinmek için bkz GetCurrentDirectory. .