Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Объект My.Computer.FileSystem предоставляет ReadAllBytes метод для чтения из двоичных файлов.
Чтение из двоичного файла
ReadAllBytesИспользуйте метод, который возвращает содержимое файла в виде массива байтов. В этом примере считывается из файла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))Для больших двоичных файлов можно использовать Read метод FileStream объекта для чтения из файла только указанного количества за раз. Затем можно ограничить объем загруженного файла в память для каждой операции чтения. В следующем примере кода копируется файл и можно указать, сколько файлов считывается в память для каждой операции чтения.
' 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
Надежное программирование
Следующие условия могут привести к возникновению исключения:
Путь недопустим по одной из следующих причин: это строка нулевой длины, она содержит только пробелы, содержит недопустимые символы или путь устройства (ArgumentException).
Путь недействителен, так как он
Nothing(ArgumentNullException).Файл не существует (FileNotFoundException).
Файл используется другим процессом или возникает ошибка ввода-вывода (IOException).
Путь превышает системную максимальную длину (PathTooLongException).
Имя файла или каталога в пути содержит двоеточие (:) или имеет недопустимый формат (NotSupportedException).
Недостаточно памяти для записи строки в буфер (OutOfMemoryException).
У пользователя отсутствуют необходимые разрешения для просмотра пути (SecurityException).
Не принимать решения о содержимом файла на основе имени файла. Например, файл Form1.vb может не быть исходным файлом Visual Basic.
Проверьте все входные данные перед использованием данных в приложении. Содержимое файла может не соответствовать ожиданиям, а методы чтения файла могут оказаться неудачными.