Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Obiekt My.Computer.FileSystem
udostępnia metodę ReadAllBytes
odczytywania z plików binarnych.
Odczytywanie z pliku binarnego
ReadAllBytes
Użyj metody , która zwraca zawartość pliku jako tablicę bajtów. Ten przykład odczytuje z plikuC:/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))
W przypadku dużych plików binarnych można użyć Read metody FileStream obiektu do odczytu z pliku tylko określonej części na raz. Następnie można ograniczyć ilość pliku załadowanego do pamięci dla każdej operacji odczytu. Poniższy przykład kodu kopiuje plik i umożliwia użytkownikowi określenie, ile pliku jest odczytywane do pamięci przy każdej operacji odczytu.
' 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
Niezawodne programowanie
Następujące warunki mogą spowodować zgłoszenie wyjątku:
Ścieżka jest nieprawidłowa z jednego z następujących powodów: jest to ciąg o zerowej długości, zawiera tylko białe znaki, zawiera nieprawidłowe znaki lub jest ścieżką urządzenia (ArgumentException).
Ścieżka jest nieprawidłowa, ponieważ jest
Nothing
(ArgumentNullException).Plik nie istnieje (FileNotFoundException).
Plik jest używany przez inny proces lub występuje błąd we/wy (IOException).
Ścieżka przekracza zdefiniowaną przez system maksymalną długość (PathTooLongException).
Nazwa pliku lub katalogu w ścieżce zawiera dwukropek (:) lub jest w nieprawidłowym formacie (NotSupportedException).
Za mało pamięci, aby zapisać ciąg do buforu (OutOfMemoryException).
Użytkownik nie ma niezbędnych uprawnień do wyświetlania ścieżki (SecurityException).
Nie należy podejmować decyzji dotyczących zawartości pliku na podstawie nazwy pliku. Na przykład plik Form1.vb może nie być plikiem źródłowym języka Visual Basic.
Przed użyciem danych w aplikacji sprawdź wszystkie dane wejściowe. Zawartość pliku może nie być oczekiwana, a metody odczytu z pliku mogą zakończyć się niepowodzeniem.