Chapter 10 - Working with Files, Streams, and Serialization

  1. What is the difference between using the File class and the FileInfo class?
    • The File class has static methods so it cannot be instantiated. It is best used for one-off tasks such as copying a file. The FileInfo class requires the instantiation of an object that represents a file. It is best used when you need to perform multiple operations on the same file.
  2. What is the difference between the ReadByte method and the Read method of a stream?
    • The ReadByte method returns a single byte each time it is called and the Read method fills a temporary array with bytes up to a specified length. It is generally best to use Read to process blocks of bytes at once.
  3. When would you use the StringReader, TextReader, and StreamReader classes?
    • StringReader is used for efficiently reading from a string stored in memory
    • TextReader is an abstract class that StringReader and StreamReader both inherit from for their shared functionality
    • StreamReader is used for reading strings from a stream that can be any type of text file, including XML and JSON
  4. What does the DeflateStream type do?
    • DeflateStream implements the same compression algorithm as GZIP but without a cyclical redundancy check, so although it produces smaller compressed files, it cannot perform integrity checks when decompressing.
  5. How many bytes per character does the UTF-8 encoding use?
    • It depends on the character. Most Western alphabet characters are stored using a single byte. Other characters may need two or more bytes.
  6. What is an object graph?
    • An object graph is any instance of classes in memory that reference each other, thereby forming a set of related objects. For example, a Customer object may have a property that references a set of Order instances.
  7. What is the best serialization format to choose for minimizing space requirements?
    • JavaScript Object Notation (JSON).
  8. What is the best serialization format to choose for cross-platform compatibility?
    • eXtensible Markup Language (XML), although JSON is even better these days.
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.137.173.249