【java IO】基础命令【File类】

IO知识点

1、File 类
2、IO体系
3、输入字节流 InputStream 输出字节流 OutputStream
输入字符流 Reader 输出字符流 Writer
4、转换流,缓冲流,对象流
5、序列化和反序列化
6、RandomAccessFile
7、IO涉及的设计模式:装饰器模式和适配器模式

File类

File类是对文件系统中的文件和文件夹进行封装的对象。

1、相对路径和绝对路径

绝对路径:带有前缀的字符串(盘符) Windows:d:\ Linux:/
相对路径:不带盘符 ./test.test1.txt 当前路径 “.” 父路径“…”

2、File类的构造函数

1)File (String pathname)
  File file = new File("C:\\Users\\Administrator\\Desktop");
        //获取路径
        String absolutePath = file.getAbsolutePath();
        System.out.println(absolutePath );
2)File(String parent ,String child)

parent:父目录 child:子目录

     
       String parent="C:\\Users\\Administrator\\Desktop";
        String child="java图论刘老师作业";
        File file2 = new File(parent, child);
        System.out.println(file2 .getAbsolutePath() );
3)File(File parent ,String child)
 File file3 = new File(file, child);
        System.out.println(file3 .getAbsolutePath() );

3、常用方法

 //String getAbsolutePath() 获取文件的全路径
        //boolean exit() 判断文件或者是目录是否存在  true :存在  false:不存在
        //boolean isFile()判断是文件还是目录  true:文件  false:非文件
        //Boolean isDirectory() 判断是文件还是目录 true:目录 false:非目录
        //String getName() 返回的是文件名或者是目录名  返回的是分隔符最后内容
        //String getPath() 返回的是文件或者目录的路径   分隔符前面
        //long length() 返回文件的长度
        //String []  list()  将目录中所有文件名保存在字符串数组中返回
        //File[] listFiles() 将目录中所有文件名保存在File数组中返回
        //String[] list(FilenameFilter filter ) 获取特定规则的目录或文件

4、打印文件(文件过滤器)

String []list =file .list() ;//打印出桌面的所有内容(此时file是new File("C:\\Users\\Administrator\\Desktop"))
     for(int i=0;i<list .length ;i++){
            System.out.println(list [i]);
       }

这样可以打印出桌面上所有的文件及目录
那么如果只想打印文件时,需要借助文件过滤器FilenameFilter

 /**
         * interface FilenameFilter 接口
         * 提供了accept方法
         * true 符合条件返回, false 不符合条件不返回
         */
        FilenameFilter filenameFilter = new FilenameFilter() {

            @Override
            public boolean accept(File dir,String name){
                File file4 =new File(dir ,name);
                return file4 .isFile() ;
            }
        };
        String []list1 =file .list(filenameFilter ) ;//打印出桌面的所有文件
        for(int i=0;i<list1 .length ;i++){
            System.out.println(list1 [i]);
        }

文件类的知识学习先到这里,下个博客会写两道java实例题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值