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. EventBus事件总线框架(发布者/订阅者模式,观察者模式)

    一. android应用内消息传递的方式: 1. handler方式-----------------不同线程间传递消息. 2. Interface接口回调方式-------任意两个对象. 3. In ...

  2. [LeetCode 题解]: Symmetric Tree

    前言   [LeetCode 题解]系列传送门:  http://www.cnblogs.com/double-win/category/573499.html   1.题目描述   Given a ...

  3. Unity3d之Coroutine

    在Unity3d中使用C#时,Coroutine是一个大有用处的好东西,至于怎么用网上多的是讲,我仅在此记录最近一次使用中的小发现. 因为某种需求,要在一个Coroutine实现中使用while循环, ...

  4. 网页方式访问 QQ 小说书架

    iPad.平板电脑 http://bookshelf.html5.qq.com/page?t=pad#!/bookshelf/ iPhone.手机 http://bookshelf.html5.qq. ...

  5. c# 中 $符号的用法

    var names = new List<string> { "jason", "Ana", "Felipe" }; forea ...

  6. mysql 按照时间查询

    这篇文章转载自http://blog.csdn.net/wangjuan_01/article/details/51726588 今天 select * from 表名 where to_days(时 ...

  7. C# winform截图、web Cropper图片剪切、上传

    今天又来一弹,写了个小功能,windows 桌面截图,web剪切图片上传的功能. 废话不多说,直接上图: 1.winform 截屏功能 图1 主窗体 点击全屏截图,就已经全屏截图了,截图后,图片保存在 ...

  8. js 倒计时,转义

    function leftTimer(time) { var leftTime = (new Date(time)) - (new Date()); //计算剩余的毫秒数 var days = par ...

  9. ASP.NET MVC学习笔记(二)登陆验证

    书上的验证时在配置文件中直接声明用户名和密码,想改成从数据验证账号和密码,搞了一下午都没高出来,不断的调试,发现 var table = userInfo.Tables.FirstOrDefault( ...

  10. git 使用merge 对本地分支进行合并 并进行代码提交的流程

    1.只有当将修改内容commit后 该修改才完全生效,进行merge前需要将两个分支修改的内容都进行commit 2.假设本地两个分支   用于开发的分支:dev    用于同步远程仓库的分支:mas ...