reading bytes in a file in vb.net

…衆ロ難τιáo~ 提交于 2019-12-12 14:29:43

问题


After getting the file name I create a new filestream and load all the bytes from the FileStream into a byte array, now I need to get certain bytes and store them in fields like the second 4 bytes are the time the file was created. When storing these in the variables should I store them as bytes or as string/integers/etc.

Or have I done it completely wrong?

EDIT:Should I be doing this way instead of a filestream?

Dim data() as Byte = File.ReadAllBytes(path1)

回答1:


Using File.ReadAllBytes is a perfectly fine way of doing what you want to do. This is example of an aggregate component which uses several factored types under the covers to accomplish a common task. If you were to manually open a StreamReader and read the contents of the file you would be re-coding the implementation of File.ReadAllBytes almost exactly.

An aggregate component is simply a type that provides a very high-level API over several lower-level types. The File type is a perfect example of an aggregate component since it has many methods that allow you to do common tasks simply and without having to create and use the underlying types (or "factored types" like StreamReader).

I think what you have now is just fine - it is simple and straightforward (which is the entire reason aggregate components exist in the first place).




回答2:


Try reading the stream using the Read method(s), instead of copying the entire file into memory, if all you're doing is sequential reading. Then while reading, store a date/time as a DateTime value, etc.



来源:https://stackoverflow.com/questions/1991425/reading-bytes-in-a-file-in-vb-net

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!