importjava.io.IOException;importjava.nio.charset.Charset;importjava.nio.file.FileSystems;importjava.nio.file.FileVisitResult;importjava.nio.file.Files;importjava.nio.file.Path;importjava.nio.file.Paths;importjava.nio.file.SimpleFileVisitor;importjava.nio.file.StandardWatchEventKinds;importjava.nio.file.WatchEvent;importjava.nio.file.WatchKey;importjava.nio.file.WatchService;importjava.nio.file.attribute.BasicFileAttributes;importjava.nio.file.attribute.FileOwnerAttributeView;importjava.util.ArrayList;importjava.util.List;public classNewIO {public static void main(String[] args) throwsIOException,
InterruptedException {
Path path= Paths.get(".");
System.out.println(path.getNameCount());
String str= "C:\\Users\\huang_xiaofei\\Desktop";/*** 一次读取文件中的所有内容*/List lines =Files.readAllLines(
Paths.get("C:\\Users\\huang_xiaofei\\Desktop\\test.txt"),
Charset.forName("gbk"));
System.out.println(lines);//把list中的数据写入文件
List list = new ArrayList<>();
list.add("哈哈");
list.add("呵呵");
Files.write(Paths.get("C:\\Users\\huang_xiaofei\\Desktop\\test.txt"),
list, Charset.forName("gbk"));/*** 遍历文件夹,寻找符合要求的文件*/Files.walkFileTree(Paths.get(str,"相关文档"),new SimpleFileVisitor() {publicFileVisitResult visitFile(Path file,
BasicFileAttributes attrs)throwsIOException {if (file.endsWith("中国电科院-安全功能测试点小结.doc")) {returnFileVisitResult.TERMINATE;
}returnFileVisitResult.CONTINUE;
}
});/*** 监听文件的变化*/WatchService watchServie=FileSystems.getDefault().newWatchService();
Paths.get(str).register(watchServie,
StandardWatchEventKinds.ENTRY_CREATE,
StandardWatchEventKinds.ENTRY_MODIFY);while (true) {
WatchKey key=watchServie.take();for (WatchEvent>event : key.pollEvents()) {
System.out.println(event.context()+ "::" +event.kind());
}boolean flag =key.reset();if (!flag) {break;
}
}/*** 获取文件的权限*/String fp= "C:\\Users\\huang_xiaofei\\Desktop\\test.txt";
FileOwnerAttributeView owner=Files.getFileAttributeView(
Paths.get(fp), FileOwnerAttributeView.class);
System.out.println(owner.getOwner());
}
}