IO流--File类

File类

一个File的对象就表示一个计算机中的文件或者目录(文件夹)

		/*
        File类的构造方法的3种方式
         */
        File f =new File("D:/Users/17509/Desktop/非凡/IO/demo.txt");


        String p="D:/Users/17509/Desktop/非凡/IO/";
        File f1= new File(p,"demo.txt");
        File f2= new File(p,"Api");


        File fp = new File("D:/Users/17509/Desktop/非凡/IO/");
        File f3 = new File(fp,"demo.txt");
        File f4 = new File(fp,"Api");
        		

File类中的功能

File f = new File("D:/IO/demo.txt");//在创建File对象时,不检测文件是否存在
        System.out.println(f.length());//获取文件内容的长度,以字节为单位
        System.out.println(f.getParent());
        System.out.println(f.getName());
        System.out.println(f.getAbsolutePath());//获得相对路径的文件绝对路径
        System.out.println(f.exists());//是否存在

        System.out.println(f.isDirectory());//判断是否为文件夹
        System.out.println(f.isHidden());//判断文件是否为隐藏文件
        System.out.println(f.isAbsolute());//判断文件是否为绝对路径
        System.out.println(f.canWrite());//修改文件属性为可写
        System.out.println(f.canRead());//修改文件属性为可读
        System.out.println(f.canExecute());
        System.out.println(f.getPath());//获得路径
        System.out.println(f.lastModified());//获取最后修改时间
    

对文件的操作

  public static void main(String[] args) {
         /*
        createNewFile()  创建文件
        如果已经存在,就不创建了,返回false
        如果不存在,就创建 返回true
        如果盘符/地址在计算机没有,直接抛出异常
         */
       /* File f = new File("G:/demo.txt");
        try {
            System.out.println(f.createNewFile());
        } catch (IOException e) {
            e.printStackTrace();
        }
        System.out.println(f.delete());//删除文件,存在返回true,不存在,返回false*/

      /*  File f = new File("E:/demo/demo");
        System.out.println(f.mkdir());//只能创建单级文件夹
        f.mkdirs();//可以创建多级文件夹
        f.delete();//删除时文件夹必须为空*/

        File f = new File("E:");
        //获取指定目录下的所有自己的文件或者目录,以字符串形式返回
       /* String [] s = f.list();
        for (String arr:s) {
            System.out.println(arr);
        }*/

        //添加筛选条件,筛选文件
        /*String [] arr = f.list(new FilenameFilter() {
            @Override
            public boolean accept(File dir, String name) {
                return StringUtil.subFileType(name).equalsIgnoreCase("txt");
            }
        });
        for (String arr0:arr) {
            System.out.println(arr0);
        }*/

        File[] fs = f.listFiles(new FilenameFilter() {
            @Override
            public boolean accept(File dir, String name) {
                return StringUtil.subFileType(name).equalsIgnoreCase("txt");
            }
        });
        for (File ft:fs) {
            System.out.println(ft);
        }

        File f1 =new File("E:/log.txt");
        File f2 =new File("E:/newLog.txt");
        f1.renameTo(f2);//对文件进行重命名
    }
posted @ 2021-12-02 15:53  肖帆咪  阅读(26)  评论(0编辑  收藏  举报