Question 1. What class and method would you use to read a few pieces of data that are at known positions near the end of a large file?
Answer 1. Files.newByteChannel
returns an instance of SeekableByteChannel
which allows you to
read from (or write to) any position in the file.
Question 2. When invoking format
,
what is the best way to indicate a new line?
Answer 2.
Use the %n
conversion — the \n
escape is not platform independent!
Question 3. How would you determine the MIME type of a file?
Answer 3. The Files.probeContentType
method uses the platform's underlying file type detector to evaluate and return
the MIME type.
Question 4. What method(s) would you use to determine whether a file is a symbolic link?
Answer 4. You would use the Files.isSymbolicLink
method.
Exercise 1. Write an example that counts the number of times a particular
character, such as e
, appears in a file.
The character can be specified at the command line. You can use
xanadu.txt
as the input file.
Answer 1. See
CountLetter.java
for the solution.
Exercise 2. The file
datafile
begins with a single long
that tells you the offset
of a single int
piece of data within the same file.
Write a program that gets the int
piece of data.
What is the int
data?
Answer 2. 123
. See
FindInt.java
for the solution.