版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lsf921016/article/details/61913583
1.Path 类
将一个路径封装成对象,该路径可以是相对路径也可以是绝对路径。
//定义一个Path对象
Path path= Paths.get("E:\\javaStudy\\src\\File\\a.txt");
System.out.println(path.toString());
//获得path的父级路径
Path pParent=path.getParent();
System.out.println(pParent);
//使用path获得一个File对象
File f=path.toFile();
System.out.println(f.toString());
2.Files类
读写:使用Files类的静态方法,可以是读取文件变得简单快捷。
//将文件以字符串的形式读出
byte[] bytes= Files.readAllBytes(path);
String content=new String(bytes);
System.out.println(content);
//将文件当作行序列读入
List<String> lines=Files.readAllLines(path);
System.out.println(lines);
//写出一个字符串到文件中
Files.write(path,"this is write by nio write".getBytes());
//向指定文件中追加内容,第三个参数规定了操作是append
Files.write(path, "\n append something by nio".getBytes(),StandardOpenOption.APPEND);
//将一个行的集合写出到文件
Path path2=Paths.get("E:\\javaStudy\\src\\File\\b.txt");
Files.write(path2,lines);
复制,删除,移动,创建文件
//移动文件
Files.move(fromPath,toPath);
//复制文件
Files.copy(fromPath,toPath);
//删除文件
Files.delete(path);
//创建文件
Files.createFile(path);
//创建目录
Files.createDirectory(path);
遍历目录
//遍历路径下的文件
Path dir=Paths.get("E:\\javaStudy\\src\\File");
try (DirectoryStream<Path> files=Files.newDirectoryStream(dir)){
for (Path file:files){
System.out.println(file.getFileName());
}
}
//使用正则表达式过滤文件
try (DirectoryStream<Path> files=Files.newDirectoryStream(dir,"*.java")){
for (Path file:files){
System.out.println(file.getFileName());
}
}