Java-File类

import java.io.File;
import java.io.IOException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Date;
/*
 * File类的使用
 */
public class FileDemo {

    public static void main(String[] args) {
        //File表示一个文件或目录
        //D:\\JavaTest\\FileTest\\file.txt
        //D:/JavaTest/FileTest/file.txt
        File file1 = new File("D:"+ File.separator + "JavaTest" + File.separator + "FileTest" + File.separator + "file.txt");
        if(!file1.exists()) {
            try {
                file1.createNewFile();//创建文件
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        System.out.println("file1.isFile() " + file1.isFile());//是否为文件
        System.out.println("file1.isDirectory() " + file1.isDirectory());//是否为目录

        File file2 = new File("D:\\JavaTest\\FileTest\\test");
        System.out.println("file2.delete() " + file2.delete());//文件夹下有文件不可以删除

        //这个地方要注意,因为test文件下原来只有test1一个文件,第一次删除以后,执行第二次的时候,
        //文件取不到的话会去删除上层目录(目录下没有文件的时候会被删除)
        File file3 = new File("D:\\JavaTest\\FileTest\\test\\test1.txt");
        System.out.println("file3.delete()" + file3.delete());

        File file4 = new File("D:\\JavaTest\\FileTest");
        String[] names = file4.list();//列出当前目录下的所有文件名

        System.out.println(Arrays.toString(names));

        File[] file5 = file4.listFiles();//列出当前目录下的所有文件,以file对象返回
        for(File f : file5) {
            System.out.println("--------------------------------");
            System.out.println(f.length());//文件长度
            System.out.println(f.getName());//文件名
            System.out.println(f.getPath());//文件相对路径
            System.out.println(f.getAbsolutePath());//文件绝对路径
            System.out.println(f.isHidden());//是否为隐藏文件
            System.out.println(f.canRead());//是否可读
            Date date = new Date(f.lastModified());
            DateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMdd");
            System.out.println(simpleDateFormat.format(date));
            System.out.println("--------------------------------");
        }

        File file6 = new File("D:\\JavaTest\\FileTest\\File1");
        System.out.println(file6.mkdir());//生成文件夹(mkdirs()生成多层文件夹)

        //重命名和移动文件夹
        file6.renameTo(new File("D:\\JavaTest\\File1Rename"));

//		File[] files = file4.listFiles(new FileFilter() {
//
//			@Override
//			public boolean accept(File pathname) {
//				return pathname.getName().endsWith(".txt");
//			}
//		});
        File[] files = file4.listFiles((pathname) -> pathname.getName().endsWith(".txt"));//Lambda表达式
        for (File f : files) {
            System.out.println(f.getName());
        }
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值