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. ZOJ2388 Beat the Spread! 2017-04-16 19:18 91人阅读 评论(0) 收藏

    Beat the Spread! Time Limit: 2 Seconds      Memory Limit: 65536 KB Superbowl Sunday is nearly here. ...

  2. ZOJ1586 QS Network 2017-04-13 11:46 39人阅读 评论(0) 收藏

    QS Network Time Limit: 2 Seconds      Memory Limit: 65536 KB Sunny Cup 2003 - Preliminary Round Apri ...

  3. C#基础入门 九

    C#基础入门 九 集合 对于很多应用程序,需要创建和管理相关对象组,有两种方式可以将对象分组,一是创建对象数组,如 object[] obj=new object[3]{1,2.33,"st ...

  4. 解决json结合struts2时,Class org.apache.struts2.json.JSONWriter can not access a member of * 的问题

    在使用json的时候,产生的一个错误,查了一下资料,原来是struts2和json一起使用的时候,才产生的问题,虽然不影响程序的运行,但是总是会有一些异常的日志产生,并且,这个也会增加程序的负担. 原 ...

  5. hbase zookeeper独立搭建

    一.zk单独搭建 1.修改配置文件:conf/zoo.cfg tickTime=2000 dataDir=/home/hadoop/data/zookeeper clientPort=2181 ini ...

  6. asp.net——Josn转DataTable(转)

    使用UI框架开发的时候就常常用到DataTable转Json的情况,但是最近完成一个微信公众号开发的项目,需要把微信接口传过来的json值作为转为DataTable后绑定到服务器控件上. 在网上找了很 ...

  7. Devexpress Tab Control 文档

    https://documentation.devexpress.com/WPF/8078/Controls-and-Libraries/Layout-Management/Tab-Control/P ...

  8. 'Install app for SharePoint': Sideloading of apps is not enabled on this site

    http://blog.lekman.com/2012/11/sharepoint-2013-sideloading-of-apps-is.html Solution: You need to ena ...

  9. BZOJ1558 等差数列

    题目链接:戳我 实话实话,看了几篇题解真的没看懂,我觉得讲的都有问题.这里对于线段树维护的s写了一点我自己的理解. 看到等差数列,我们考虑对数列做差,这样如果是等差数列,那么值应该相等.(比较容易维护 ...

  10. python网络编程--TCP连接的三次握手(三报文握手)与四次挥手

    一.TCP连接 运输连接有三个阶段: 连接建立.数据传送和连接释放. 在TCP连接建立过程中要解决以下三个问题: 1,要使每一方能够确知对方的存在. 2.要允许双方协商一些参数(如最大窗口之,是否使用 ...