Sdílet prostřednictvím


Postupy: Čtení z binárních souborů v jazyce Visual Basic

Objekt My.Computer.FileSystem poskytuje metodu ReadAllBytes pro čtení z binárních souborů.

Chcete-li číst z binárního souboru.

  • Použijte metodu ReadAllBytes, která vrátí obsah soubor ve formě bajtového pole.V tomto příkladu dojde k načtení souboru C:/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))
    
  • Pro velké binární soubory můžete použít metodu Read objektu FileStream pro čtení ze soubor po specifikovanou dobu.Pro každou operaci čtení můžete omezit, jak velká část soubor je načtena do paměti.Následující příklad kódu zkopíruje soubor a umožní volajícímu zadat, jak velká část souboru se má načíst do paměti v jedné 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í

Tyto podmínky mohou způsobit vyvolání výjimky:

  • Cesta není platná pro jednu z následujících důvodů: je řetězec nulové délky, obsahuje pouze mezery, obsahuje neplatné znaky nebo je cesta k zařízení (ArgumentException).

  • Cesta není platná, protože je nastavená na Nothing (ArgumentNullException).

  • Požadovaný soubor neexistuje (FileNotFoundException).

  • Soubor je používán jiným proces nebo dojde k vstupně-výstupní chybě (IOException).

  • Cesta přesahuje maximální systémem povolenou délku (PathTooLongException).

  • Název soubor nebo adresáře v cestě obsahuje dvojtečku (:) nebo je v neplatném formátu (NotSupportedException).

  • Není dostatek paměť k zápisu řetězce do vyrovnávací paměti (OutOfMemoryException).

  • Uživatel nemá potřebné oprávnění k zobrazení cesty (SecurityException).

Neprovádějte rozhodnutí o obsahu soubor na základě názvu souboru.Například soubor Form1.vb nemusí být zdrojová soubor jazyka Visual Basic.

Ověřte všechny vstupy před použitím dat ve vaší aplikaciObsah soubor nemusí být stejný jaký očekáváte a může dojít k selhání metody, která čte ze souboru.

Viz také

Úkoly

Postupy: Čtení z textových souborů ve více formátech v jazyce Visual Basic

Referenční dokumentace

ReadAllBytes

WriteAllBytes

Další zdroje

Čtení ze souborů v jazyce Visual Basic

Ukládání dat do schránky a čtení ze schránky (Visual Basic)