Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Objekt My.Computer.FileSystem poskytuje metodu ReadAllBytes pro čtení z binárních souborů.
Čtení z binárního souboru
Použijte metodu
ReadAllBytes, která vrací obsah souboru jako pole bajtů. Tento příklad čte ze souboruC:/Documents and Settings/selfportrait.jpg.Dim bytes = My.Computer.FileSystem.ReadAllBytes( "C:/Documents and Settings/selfportrait.jpg") PictureBox1.Image = Image.FromStream(New IO.MemoryStream(bytes))U velkých binárních souborů můžete použít Read metodu objektu FileStream ke čtení ze souboru pouze zadanou částku najednou. Pak můžete omezit, kolik souboru se načte do paměti pro každou operaci čtení. Následující příklad kódu zkopíruje soubor a umožňuje volajícímu určit, kolik souboru je načteno do paměti pro každou operaci čtení.
' This method does not trap for exceptions. If an exception is ' encountered opening the file to be copied or writing to the ' destination location, then the exception will be thrown to ' the requestor. Public Sub CopyBinaryFile(ByVal path As String, ByVal copyPath As String, ByVal bufferSize As Integer, ByVal overwrite As Boolean) Dim inputFile = IO.File.Open(path, IO.FileMode.Open) If overwrite AndAlso My.Computer.FileSystem.FileExists(copyPath) Then My.Computer.FileSystem.DeleteFile(copyPath) End If ' Adjust array length for VB array declaration. Dim bytes = New Byte(bufferSize - 1) {} While inputFile.Read(bytes, 0, bufferSize) > 0 My.Computer.FileSystem.WriteAllBytes(copyPath, bytes, True) End While inputFile.Close() End Sub
Robustní programování
Následující podmínky mohou způsobit vyvolání výjimky:
Cesta není platná z jednoho z následujících důvodů: jedná se o řetězec nulové délky, obsahuje pouze prázdné znaky, obsahuje neplatné znaky nebo je to cesta zařízení (ArgumentException).
Cesta není platná, protože je
Nothing(ArgumentNullException).Soubor neexistuje (FileNotFoundException).
Soubor se používá jiným procesem nebo dojde k vstupně-výstupní chybě (IOException).
Cesta překračuje maximální délku definovanou systémem (PathTooLongException).
Název souboru nebo adresáře v cestě obsahuje dvojtečku (:) nebo je v neplatném formátu (NotSupportedException).
Není dostatek paměti pro zápis řetězce do vyrovnávací paměti (OutOfMemoryException).
Uživatel nemá potřebná oprávnění k zobrazení cesty (SecurityException).
Nerozhodujte o obsahu souboru na základě názvu souboru. Soubor Form1.vb například nemusí být zdrojovým souborem jazyka Visual Basic.
Před použitím dat v aplikaci ověřte všechny vstupy. Obsah souboru nemusí být očekávaný a metody čtení ze souboru mohou selhat.