The Java Tutorials have been written for JDK 8.Java教程是为JDK 8编写的。Examples and practices described in this page don't take advantage of improvements introduced in later releases and might use technology no longer available.本页中描述的示例和实践没有利用后续版本中引入的改进,并且可能使用不再可用的技术。See Java Language Changes for a summary of updated language features in Java SE 9 and subsequent releases.有关Java SE 9及其后续版本中更新的语言特性的摘要,请参阅Java语言更改。
See JDK Release Notes for information about new features, enhancements, and removed or deprecated options for all JDK releases.有关所有JDK版本的新功能、增强功能以及已删除或不推荐的选项的信息,请参阅JDK发行说明。
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.