java.nio.file preferred packages for files
- java.nio.FileXXX streams are deprecated
Provide a number of benefits over java.io
- Better exception reporting
- Greater scalabity - large file system
- More file system feature support
- Simplifies common task
常用class
Path
- Used to locate a file system item
- Can be a file or directory
Paths
- Static Path factory methods
- From string-based hierarchical path
- From URI
Path p1 = Paths.get("\\documents\\data\\foo.txt");
Path p2 = Paths.get("\\documents","data","foo.txt");
Files
- Static methods for interacting with files
- Create, copy, delete, etc.
- Open file streams
- new BufferedReader
- new BufferedWriter
- new InputStream
- new OutputStream
- Convenience methods - read/write file contents
- readAllLines
// Template - Reading Lines with BufferedReader
void readData() throws IOException{
try (BufferedReader br = Files.newBufferedReader(Paths.get("data.txt"))){
String inValue;
while((inValue = br.readLine()) != null){
System.out.println(inValue);
}
}
}
// Read All Lines
void readThemAll() throws IOException{
List<String> lines = Files.readAllLines(Paths.get("data.txt"));
for(String line: lines)
System.out.println(line);
}