TA的每日心情 | 开心 2021-3-12 23:18 |
---|
签到天数: 2 天 [LV.1]初来乍到
|
- //java1.7的java.nio.file包中定义的类使得对文件的操作变得简单,灵活的多,且看下面的例子:
- 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 {
- public static void main(String args[]){
- // moveFile();
- fileAttributes();
- createDir();
- }
- /**
- * 非常方便的对文件进行移动操作
- * 将tt.txt从pathFrom文件夹位置移动到pathTo文件夹下
- * 此方法可以和copy这个方法相比较,用法相同,其他增删改查操作请参考api即可
- * @throws IOException
- */
- public static void moveFile() {
- Path pathFrom = Paths.get("c:/ex", "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("c:/ex");
- //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("c:/ex/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
-
- paths = Files.newDirectoryStream(path);
- for(Path p : paths){
- System.out.println(p.getFileName());
- }
- System.out.println();
- //创建一个带有过滤器,过滤文件名以java txt bat结尾的文件
- DirectoryStream
-
- pathsFilter = Files.newDirectoryStream(path, "*.{java,txt,bat}");
- for(Path p : pathsFilter){
- System.out.println(p.getFileName());
- }
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
-
-
复制代码 C:ex>java TestFiles
true
true
2012-11-25 18:51:34
dir exists
2.txt
ff
CUberoots.java
java
javja.bat 2.txt
CubeRoots.java
javja.bat
源码下载:http://file.javaxxz.com/2014/10/31/235809015.zip |
|