java中的File类–IO流(文件操控者)

导读:本篇文章讲解 java中的File类–IO流(文件操控者),希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

前言必读

读者手册(必读)_云边的快乐猫的博客-CSDN博客

一、概念

1.File位置?

答:在包java.io.File下,代表操作系统的文件对象(文件、文件夹)

2.File类可以干嘛?

答:可以:创建文件、文件夹、定位文件、删除、获取文本本身信息等功能操作。不可以读取文件本身内容。

3.如果要读取文件中的数据怎么办?

答:用IO流:可以对硬盘中的数据进行读写

4.绝对路径和相对路径

绝对路径:从盘符开始

相对路径:不带盘符。默认直接到当前工程下的目录寻找文件

二、例子展示

例子:

1.绝对路径和相对路径的各种查看方法

package bao;
import java.io.File;
import java.text.SimpleDateFormat;

public class Test {
    public static void main(String[] args) {
        //绝对路径(指在本电脑上面能用的路径)
        //创建对象。储存地址文件的属性-安全
        File f1 = new File("D:\\图片\\壁纸\\巴蛇.jpg");

        //1.获取文件绝对路径
        System.out.println(f1.getAbsolutePath());//D:\图片\壁纸\巴蛇.jpg
        //2.获取文件定义使用的路径
        System.out.println(f1.getPath());//D:\图片\壁纸\巴蛇.jpg
        //3.获取文件的名称,带后缀
        System.out.println(f1.getName());//巴蛇.jpg
        //4.获取文件的字节大小
        System.out.println(f1.length());//4409079
        //5.获取文件的最后修改时间
        long time = f1.lastModified();
        System.out.println(time);//1658643818000
        //上面时间看不懂,那就修改成能看懂的格式
        System.out.println("最后修改的时间为"+new SimpleDateFormat("yyyy/MM/dd HH:mm:ss").format(time));//最后修改的时间为2022/07/24 14:23:38
        //6.判断是不是文件
        System.out.println(f1.isFile());//true
        //7.判断是不是文件夹
        System.out.println(f1.isDirectory());//false
        //8.测试此抽象路径的File是否存在
        System.out.println(f1.exists());//false

        System.out.println("=====================================================================================");

        //相对路径
        //创建对象。储存地址:1.idea文件  2.Copy Path 3.选择带有地址的第一个  4.复制进去后,模块前面的全删了
        //这里相对路径返回来结果如果是1970等异常的话,就在new创建文件这里添加上盘符就正常了
        File f2 = new File("D:\\java_base\\SE\\src\\QQ");//本应是SE\src\QQ,为了显示时间和字节正常才这样

        //1.获取文件绝对路径
        System.out.println(f2.getAbsolutePath());//D:\java_base\SE\src\QQ
        //2.获取文件定义使用的相对路径
        System.out.println(f2.getPath());//D:\java_base\SE\src\QQ
        //3.获取文件的名称,带后缀
        System.out.println(f2.getName());//QQ
        //4.获取文件的字节大小
        System.out.println(f2.length());//18
        //5.获取文件的最后修改时间
        long time1 = f2.lastModified();
        System.out.println(time1);//1662306438640
        //上面时间看不懂,那就修改成能看懂的格式
        System.out.println("最后修改的时间为"+new SimpleDateFormat("yyyy/MM/dd HH:mm:ss").format(time1));//最后修改的时间为2022/09/04 23:47:18
        //6.判断是不是文件
        System.out.println(f2.isFile());//true
        //7.判断是不是文件夹
        System.out.println(f2.isDirectory());//false
        //8.测试此抽象路径的File是否存在
        System.out.println(f2.exists());//true
    }
}

运行结果:

D:\图片\壁纸\巴蛇.jpg
D:\图片\壁纸\巴蛇.jpg
巴蛇.jpg
4409079
1658643818000
最后修改的时间为2022/07/24 14:23:38
true
false
true
=====================================================================================
D:\java_base\SE\src\QQ
D:\java_base\SE\src\QQ
QQ
18
1662306438640
最后修改的时间为2022/09/04 23:47:18
true
false
true 

2.创建文件和删除文件

package bao;

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

public class Test {
    public static void main(String[] args) throws IOException {
        //1.创建新文件,成功返回true。不成功返回false的对象,出现异常抛出就好alt+回车键
        File f = new File("D:\\java_base\\SE\\src\\bao\\大哥.txt");
        System.out.println(f.createNewFile());//true
        //2.创建一级目录,只能创建一级目录
        File f2 = new File("D:\\新建文件夹");
        System.out.println(f2.mkdir());//true。成功建立起来本地文件夹
        //3.创建多级目录
        File f3 = new File("D:\\新建文件夹2\\aa\\bb\\cc");
        System.out.println(f3.mkdirs());//true。成功建立起来本地文件夹
        //4.删除文件,本地绝对文件和相对文件都可以删除,强力删除,回收站里面都不剩,好东西
        //不能删除非空文件夹
        File f4 = new File("D:\\java_base\\SE\\src\\bao\\大哥.txt");
        System.out.println(f4.delete());//true
    }
}

 运行结果:

true
true
true
true

3.遍历方法(打标:在里面的遍历文件夹很像爬虫可以获取数据)

package bao;

import java.io.File;
public class Test {
    public static void main(String[] args) {
        //绝对路径

        //new一个要使用的文件夹对象
        File f = new File("D:\\图片");
        //1.简单遍历。获得当前文件夹下的子文件
        // 文件数据赋值给集合列表
        String[] name = f.list();
        for (String names : name) {
            System.out.println(names);
        }
        //2.获取一级文件的全部绝对路径(常用)
        File[] f2 = f.listFiles();
        for (File file : f2) {
            System.out.println(file);
        }
    }
}

运行结果:

风景
头像
D:\图片\风景
D:\图片\头像

listFiles注意事项:

1.当调用者不存在时,返回null

2.当调用者是一个文件时,返回null

3.当调用者是一个空文件夹时,返回一个长度为0的数组

4.当调用者是一个隐藏的文件夹时,里面的隐藏内容也会被调用出来(这个可以查看隐藏文件夹中内容了)

5.需要权限的文件夹,返回null

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/112699.html

(0)
Java光头强的头像Java光头强

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!