Pobieranie pliku przez FileStream

Pobieranie pliku przez FileStream
K9
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 19
0

Cześć, pisze program który pobiera dane w postaci pliku binarnego z pamięci zewnętrznego rejestratora mowy poprzez USB (2.0). Pliki są dość duże a prędkość tej wersji Usb kiepska. Potrzebuje natomiast w programie odczytać tylko 4096 bajtów z tego dużego pliku, a metoda FileStrem.OpenRead() zawsze pobiera całość pliku i z kilkudziesięciu dużych plików to dość długo trwa. Jest jakiś sposób żeby odczytać z pliku USB tylko te 4096 bajtów?

heyyou
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 192
0
Kopiuj
using var fs = new FileStream(path,  FileMode.Open, FileAccess.Read);
var br = new BinaryReader(fs);
byte[] buff = br.ReadBytes(4096);
//System.Text.Encoding.Default.GetString(buff) <-- jakbys chcial to jako tresc z jakiegos powodu

tylko sprawdz czy plik ma te min. 4096 znakow bo sie wywali :P

SO
  • Rejestracja: dni
  • Ostatnio: dni
2
karol901103 napisał(a):

metoda FileStrem.OpenRead() zawsze pobiera całość pliku

Czy aby na pewno?
Jestem przekonany że FileStream.OpenRead otwiera strumień, a to ile później z niego odczytasz i po ile bajtów na raz zależy już od tego co robisz z tym strumieniem.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.