package filet;

import java.io.FileOutputStream;
import java.nio.file.FileStore;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.List; public class FileTest { public static void main(String[] args) throws Exception { //复制文件
Files.copy(Paths.get("C:\\Users\\Administrator\\Desktop\\a.txt"),new FileOutputStream("C:\\Users\\Administrator\\Desktop\\test.txt")); //一次性得到fileTest的所有文件
List<String> lines = Files.readAllLines(Paths.get("C:\\Users\\Administrator\\Desktop\\a.txt"));
System.out.println(lines); //复制文件
Files.copy(Paths.get("C:\\Users\\Administrator\\Desktop\\dd.png"),new FileOutputStream("C:\\Users\\Administrator\\Desktop\\ddtest.png")); List<String> pome = new ArrayList<>();
pome.add("aadddd");
pome.add("dfgfdf");
//直接将多个字符串内容写入指定文件
Files.write(Paths.get("C:\\Users\\Administrator\\Desktop\\a.txt"),pome);
//使用java8新增的Stream API读取文件内容
Files.list(Paths.get(".")).forEach(path->System.out.println(path)); Files.lines(Paths.get("C:\\Users\\Administrator\\Desktop\\a.txt")).forEach(line->System.out.println(line));
//判断c盘可用空间
FileStore csStore = Files.getFileStore(Paths.get("C:")); System.out.println("C共有空间:"+csStore.getTotalSpace());
System.out.println("C可用空间:"+csStore.getUsableSpace()); } }

  使用FileVisitor遍历文件和目录

package filet;

import java.nio.file.FileVisitResult;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.SimpleFileVisitor;
import java.nio.file.attribute.BasicFileAttributes; public class FileVisitorTest { public static void main(String[] args) throws Exception { //遍历该盘下的所有文件和子目录
Files.walkFileTree(Paths.get("C:\\Users\\Administrator\\Desktop"), new SimpleFileVisitor<Path>() { //访问文件时触发该方法
@Override
public FileVisitResult visitFile(Path file,BasicFileAttributes attrs) {
System.out.println("正在访问"+file+"文件");
//找到了File
if(file.endsWith("a.txt")) {
System.out.println("已找到目标文件");
return FileVisitResult.TERMINATE;
}
return FileVisitResult.CONTINUE; } //开始访问目标目录时触发该方法
@Override
public FileVisitResult preVisitDirectory(Path dir,BasicFileAttributes attrs) { System.out.println("正在访问:"+dir+"路径"); return FileVisitResult.CONTINUE; } }); } }

Path;Paths和Files;FileVisitor的更多相关文章

  1. J2SE 8的输入输出--Path/Paths File/Files; FileSystems 类的用法

    Path的简单用法 //1. Path 正常用法 Path path = Paths.get("src/main/resource/zip"); logger.debug(path ...

  2. JAVA基础知识之NIO.2——Path,Paths,Files

    NIO.2 JDK7对NIO进行了重大改进,主要包含以下两方面 新增Path接口,Paths工具类,Files工具类. 这些接口和工具类对NIO中的功能进行了高度封装,大大简化了文件系统的IO编程. ...

  3. JAVA NIO学习四:Path&Paths&Files 学习

    今天我们将学习NIO 的最后一章,前面大部分涉及IO 和 NIO 的知识都已经讲过了,那么本章将要讲解的是关于Path 以及Paths 和 Files 相关的知识点,以对前面知识点的补充,好了言归正传 ...

  4. Java NIO学习(Path接口、Paths和Files工具类的使用)

    NIO学习:Paths和Files工具类的使用 JDK1.7引入了新的IO操作类.在java.nio.file包下,Java NIO Path接口和Files类. Path接口:Path表示的是一个目 ...

  5. Java的Path、Paths和Files

    前言 因为这几天被java.nio的这几个接口和工具类卡到了,就顺便地查了一波文档以及使用方法,这篇其实更像是API的复制粘贴,只不过我在注释里多写了一些output和注意事项,看不惯API的可以选择 ...

  6. NIO.2中Path,Paths,Files类的使用

    Java NIO Java NIO概述 Java NIO(New IO(新io),Non-Blocking IO(非阻塞的io))是从Java 1.4版本开始引入的一套新的IO API,可以替代标准的 ...

  7. Java NIO Path接口和Files类配合操作文件

    Java NIO Path接口和Files类配合操作文件 @author ixenos Path接口 1.Path表示的是一个目录名序列,其后还可以跟着一个文件名,路径中第一个部件是根部件时就是绝对路 ...

  8. Java文件IO操作应该抛弃File拥抱Paths和Files

    Java7中文件IO发生了很大的变化,专门引入了很多新的类: import java.nio.file.DirectoryStream;import java.nio.file.FileSystem; ...

  9. 6.NIO2-Path、Paths、Files

    NIO.2 jdk1.7中,java对 NIO 极大的扩展,主要增强的是对文件处理 和 文件系统特性的支持 关于其中一些API的使用 public class TestNIO_2_Path_File ...

随机推荐

  1. 说说eclipse调优,缩短启动时间

    初始配置: -startup plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar --launcher.library plug ...

  2. <网络攻防实践> 课程总结20169216

    课程总结20169216 每周作业链接汇总 第一周作业:Linux基础入门(1-5).基本概念及操作 第二周作业:linux基础入门(6-11).网络攻防技术概述网络攻防试验环境搭构.Kali教学视频 ...

  3. polymer入门例子-已过时

    这个教程挺不错!:http://blog.csdn.net/renfufei/article/details/37040883 过时了,现在的版本已经为1.0了 一:创建APP结构 本教程会使用预先构 ...

  4. [javascript]两段 javaScript 代码的逻辑比较

    两段 javaScript 代码的逻辑比较: #1 if(tagName.length < 3){    $(this).parent().addClass('active');    tagN ...

  5. Android-有序广播明确指定接收者

    在上一篇博客,Android-有序广播是可以中断的,介绍了 有序广播是可以中断的,但还有一种例外情况:明确指定接收者的有序广播是无法中断的,一定会发送到指定的接收者 AndroidManifest.x ...

  6. 原创:MVC 5 实例教程(MvcMovieStore 新概念版:mvc5.0,EF6.01) - 4、创建数据上下文和数据实体模型

    说明:MvcMovieStore项目已经发布上线,想了解最新版本功能请登录 MVC影视(MvcMovie.cn) 进行查阅.如需转载,请注明出处:http://www.cnblogs.com/Dodu ...

  7. 在Eclipse中卸载Team Explorer Everywhere

  8. 为Visual Studio添加一个“编码的UI测试生成器”的快捷方式

    在添加CodedUI测试用例时,经常需要查看捕获控件的属性.按照常规的方式,只有在添加一个全新的CodedUI编码测试时才能查看捕获控件的属性,这样很不方便. 下面介绍在Visual Studio工具 ...

  9. Luogu4551 最长异或路径

    题目链接:戳我 emmmmmmmmmm异或一个数两次等于没有操作对吧...所以我们按照前缀的异或和,建一个01trie.....然后之后.....直接在树上贪心地找能和它每一位不一样的数....然后. ...

  10. OpenStack虚机网卡的创建过程

    OpenStack虚机网卡的创建过程 OpenStack最基本和常用的操作就是启动虚机.虚机启动的过程中涉及很多内容,其中非常重要的一个环节就是创建并绑定虚机的虚拟网卡.虚机的创建和管理是Nova的任 ...