Bagikan melalui


Cara: Membaca Dari File Biner di Visual Basic

Objek My.Computer.FileSystem menyediakan ReadAllBytes metode untuk membaca dari file biner.

Untuk membaca dari file biner

  • ReadAllBytes Gunakan metode , yang mengembalikan konten file sebagai array byte. Contoh ini membaca dari file 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))
    
  • Untuk file biner besar, Anda dapat menggunakan metode dari objek ReadFileStream untuk membaca hanya sejumlah tertentu dari file pada satu waktu. Anda kemudian dapat membatasi berapa banyak file yang dimuat ke dalam memori untuk setiap operasi baca. Contoh kode berikut menyalin file dan memungkinkan pemanggil untuk menentukan berapa banyak file yang dibaca ke dalam memori per operasi baca.

    ' 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
    

Pemrograman yang Kuat

Kondisi berikut dapat menyebabkan pengecualian terjadi:

  • Jalur tidak valid karena salah satu alasan berikut: ini adalah string panjang nol, hanya berisi spasi kosong, berisi karakter yang tidak valid, atau merupakan jalur perangkat (ArgumentException).

  • Jalur tidak valid karena itu adalah Nothing (ArgumentNullException).

  • File tidak ada (FileNotFoundException).

  • File sedang digunakan oleh proses lain, atau terjadi kesalahan I/O (IOException).

  • Jalur melebihi panjang maksimum yang ditentukan sistem (PathTooLongException).

  • Nama file atau direktori di jalur berisi titik dua (:) atau dalam format yang tidak valid (NotSupportedException).

  • Memori tidak cukup untuk menulis string ke buffer (OutOfMemoryException).

  • Pengguna tidak memiliki izin yang diperlukan untuk melihat jalur (SecurityException).

Jangan membuat keputusan tentang konten file berdasarkan nama file. Misalnya, file Form1.vb mungkin bukan file sumber Visual Basic.

Verifikasi semua input sebelum menggunakan data di aplikasi Anda. Isi file mungkin bukan apa yang diharapkan, dan metode untuk membaca dari file mungkin gagal.

Lihat juga