IO流

IO流

File类:
  • 是java.io包中一个很重要的类
  • File类的对象可以表示文件,目录。 在程序中File类对象可以代表一个文件或目录
  • File对象可以对文件的属性进行操作: 如文件名,日期,文件大小等
  • File对象不能对文件中具体数据进行操作

File类有三种构造方法:

注意:
一般在输入路径名的时候不会报错,但是在具体操作时会因为错误路径而报错。

package day1;

import java.io.File;

public class FileDemo1 {
    public static void main(String[] args) {
        //File 的三种构造方法
        //file表示一个文件
        File file=new File("D:\\789.txt");//D:\789.txt  绝对路径
        File file1=new File("789.txt");//相对路径

        String parent="D:\\";
        File file2=new File(parent,"789.txt");

        File file3=new File("D:\\");
        File file4=new File(file3,"789.txt");
    }
}

File类中常用的方法:

boolean exists() 判断文件是否存在,存在返回true,否则返回false

boolean isFile() 判断是否为文件,存在返回true,否则返回false

boolean isDirectory() 判断是否为目录,是目录返回true,否则返回false

String getName() 获得文件的名称

long length() 获得文件的长度(字节数)

boolean createNewFile() throws IOException 创建新文件,创建成功返回true,否则返回false,有可能抛出IOException异常,必须捕捉

delete() 删除文件,文件夹必须为空,且只能逐级删除

mkdir() 创建单个文件

mkdirs 创建多级文件夹

package day1;

import java.io.File;

public class FileDemo2 {
    public static void main(String[] args) {
        File f = new File("D:\\demo.txt");

        System.out.println(f.canExecute());//测试是否可以执行此路径名表示的文件。
        System.out.println(f.canRead());//测试是否可以读取由此路径名表示的文件。
        System.out.println(f.canWrite());//测试是否可以修改由此路径名表示的文件。
        System.out.println(f.isAbsolute());//测试此抽象路径名表示的文件是否是绝对的。
        System.out.println(f.isHidden());//测试此抽象路径名表示的文件是否为隐藏文件。
        System.out.println(f.isDirectory());//测试此路径名表示的文件是否为目录。
        System.out.println(f.isFile());//测试此路径名表示的文件是否为普通文件。
        System.out.println(f.exists());//测试此路径名表示的文件是否存在。
        System.out.println(f.length());//字节单位

        long t =  f.lastModified();


        System.out.println(f.getAbsolutePath());
        System.out.println(f.getName());
        System.out.println(f.getParent());
    }
}

package day1;

import java.io.File;
import java.io.IOException;

public class FileDemo3 {
    public static void main(String[] args) {
        // File f = new File("E:\\demo.txt");

       /* try {
            f.createNewFile();
        } catch (IOException e) {
            e.printStackTrace();
            System.out.println("路径不正确");
        }*/

        //f.delete();

        //File f=new File("E:");


        //f.mkdir();    创建单个文件
        // f.delete();

        // File f1 = new File("E:\\demo1");
        //f1.mkdirs();
        //f1.delete();//删除文件夹时,文件夹中必须为空  且只能逐层删除

    File f = new File("D:");
    File [] f0 =  f.listFiles();

   for(File file : f0){
        System.out.println(file);
    }
    }

}

通过过滤器来实现得到 含有此后缀名 的文件名

package day1;

import util.StringUtil;

import java.io.File;
import java.io.FileFilter;

public class MyFileFilter implements FileFilter {
    @Override
    public boolean accept(File pathname) {
        return StringUtil.subFileType(pathname.getName()).equalsIgnoreCase("chm");
    }
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值