java7新特性IO操作Files

原创 2011年12月24日 17:21:07

java1.7的java.nio.file包中定义的类使得对文件的操作变得简单,灵活的多,且看下面的例子:

package Test1;
import java.io.IOException;
import java.nio.file.DirectoryStream;
import java.nio.file.Files;
import java.nio.file.LinkOption;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.StandardCopyOption;
import java.nio.file.attribute.BasicFileAttributes;
import java.util.Date;

/**
 * Files类主要是用来对文件的
 * @author zKF57533
 */
public class TestFiles {
	/**
	 * 非常方便的对文件进行移动操作
	 * 将tt.txt从pathFrom文件夹位置移动到pathTo文件夹下
	 * <h1>此方法可以和copy这个方法相比较,用法相同,其他增删改查操作请参考api即可</h1>
	 * @throws IOException 
	 */
	public static void moveFile() {
		Path pathFrom = Paths.get("e:/logs", "tt.txt");
		//其中e:/logs/errorLog/tt.txt的tt.txt文件可以不存在,如果存在会被替换掉
		Path pathTo = pathFrom.getParent().resolve("errorLog/dd.txt");
		try {
			//文件的大小bytes
			System.out.println(Files.size(pathFrom));
			//调用文件移动方法
			Files.move(pathFrom, pathTo, StandardCopyOption.REPLACE_EXISTING);
		} catch (IOException e) {
			System.err.println("移动文件错误" + e.getMessage());
		}
	}
	
	/**
	 * 测试文件的属性信息
	 * 包括文件的修改时间、是否是文件夹、创建时间等
	 */
	@SuppressWarnings("deprecation")
	public static void fileAttributes(){
		Path path = Paths.get("e:/logs");
		//1
		System.out.println(Files.isDirectory(path, LinkOption.NOFOLLOW_LINKS));
		//2
		try {
			//获得文件的基础属性
			BasicFileAttributes attributes = Files.readAttributes(path, BasicFileAttributes.class);
			System.out.println(attributes.isDirectory());
			System.out.println(new Date(attributes.lastModifiedTime().toMillis()).toLocaleString());
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	
	/**
	 * 创建文件夹
	 * 遍历文件夹下的文件
	 */
	public static void createDir(){
		Path path = Paths.get("e:/test/tte");
		try {
			//创建文件夹
			if(Files.notExists(path)){
				Files.createDirectories(path);
				System.out.println("create dir");
			}else{
				System.out.println("dir exists");
			}
			//在创建的文件夹下建几个txt文件,例如
			//2.txt
			//ff  文件夹
			//java.bat
			//_java.txt
			//遍历文件夹下面的文件
			DirectoryStream<Path> paths = Files.newDirectoryStream(path);
			for(Path p : paths){
				System.out.println(p.getFileName());
			}
			System.out.println();
			//创建一个带有过滤器,过滤文件名以java txt bat结尾的文件
			DirectoryStream<Path> pathsFilter = Files.newDirectoryStream(path, "*.{java,txt,bat}");
			for(Path p : pathsFilter){
				System.out.println(p.getFileName());
			}
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}


java Files类和Paths类的用法

Java7中文件IO发生了很大的变化,专门引入了很多新的类: import java.nio.file.DirectoryStream; import java.nio.file.FileSy...
  • u010889616
  • u010889616
  • 2016年09月28日 21:20
  • 6059

Java nio 文件操作 Path,Files类详解一

Path 类是jdk7新增加的特性之一,用来代替java.io.File类。 之所以新增这个类,是由于java.io.File类有很多缺陷: 1.java.io.File类里面很多方法失败时没有异...
  • LuoZheng4698729
  • LuoZheng4698729
  • 2016年06月17日 09:36
  • 6768

java 操作文件File类

File 文件类 用来将文件或者文件夹封装成为对象。 方便对文件与文件夹的属性信息进行操作。 File对象可以作为参数传递给流的构造函数。 File 类的常用的方法。import java.i...
  • u011129848
  • u011129848
  • 2016年05月28日 23:14
  • 4812

Java File操作汇总

本文通过大量的示例,介绍和讲解了Java File操作。 1)创建文件 2)删除文件 3)判断文件是否存在 4)创建文件夹 5)文件类型判断 6)获取文件信息 7)获取目录下文件名 8)递...
  • u012339743
  • u012339743
  • 2014年11月21日 21:11
  • 7254

Java7中NIO学习之Files

Files类是一个高度封装的工具类,它提供了大量的方法来完成文件复制,读取文件内容,写入文件内容等功能。...
  • qingqingzijinxin
  • qingqingzijinxin
  • 2016年09月15日 16:53
  • 1254

Java8读文件仅需一行代码

Java8读文件仅需一行代码JDK7中引入了新的文件操作类java.nio.file.File,它包含了很多有用的方法来操作文件,比如检查文件是否为隐藏文件,或者是检查文件是否为只读文件。开发者还可以...
  • chszs
  • chszs
  • 2015年03月02日 20:38
  • 16939

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

Java7中文件IO发生了很大的变化,专门引入了很多新的类: import java.nio.file.DirectoryStream; import java.nio.file.FileSy...
  • u010889616
  • u010889616
  • 2016年09月27日 23:10
  • 919

使用Java7的Files工具类和Path接口来访问文件

在日期的java版本中,都是通过File类来访问文件,但是File类的操作有限,不能利用特定文件系统的特性,性能也不高。在访问出错时,很多都是直接返回false,并没有给出异常信息。因此Java7新增...
  • qasrc6
  • qasrc6
  • 2016年04月29日 14:57
  • 1450

JDK1.7 之java.nio.file.Files 读取文件只要一行

JDK1.7中引入了新的文件操作类java.nio.file这个包,其中有个Files类它包含了很多有用的方法来操作文件,比如检查文件是否为隐藏文件,或者是检查文件是否为只读文件。开发者还可以使用Fi...
  • ljh_learn_from_base
  • ljh_learn_from_base
  • 2017年09月01日 02:12
  • 817

Java NIO Files 操作文件

Java NIO Files 操作文件
  • qingqingzijinxin
  • qingqingzijinxin
  • 2016年09月20日 09:43
  • 900
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java7新特性IO操作Files
举报原因:
原因补充:

(最多只允许输入30个字)