java 之 io流【引入篇】

java 之 io流【引入篇】

要讲 IO流 我们首先 我们首先引入  File 这个类

File 类

【1】文件,目录:
文件: 
内存中存放的数据在计算机关机后就会消失。要长久保存数据,就要使用硬盘、光盘、U 盘等设备。为了便于数据的管理和检索,引入了“文件”的概念。一篇文章、一段视频、一个可执行程序,都可以被保存为

一个文件,并赋予一个文件名。操作系统以文件为单位管理磁盘中的数据。

一般来说,文件可分为文本文件、视频文件、音频文件、图像文件、可执行文件等多种类别,这是从文件的功能进行分类的。从数据存储的角度来说,所有的文件本质上都是一样的,都是由一个个字节组成的,归根到底都是 0、1 比特串。不同的文件呈现出不同的形态(有的是文本,有的是视频等等)

文件夹(目录):
成千上万个文件如果不加分类放在一起,用户使用起来显然非常不便,因此又引入了树形目录(目录也叫文件夹)的机制,可以把文件放在不同的文件夹中,文件夹中还可以嵌套文件夹,这就便于用户对文件进行管理和使用

【2】查看文件/目录的信息:
右键-属性

【3】在java程序中操纵 文件/目录 ?怎么办?
java程序,最典型的特点,面向对象,java程序最擅长的就是操作对象,盘符上的文件/目录,将它的各种信息进行了封装,封装为一个对象,
java程序最擅长的就是操纵对象,这个对象属于 ---》File类

盘符上的文件---》封装为对象---》对象属于File类的对象--》有了这个对象,我们程序就可以直接操纵这个对象,通过这个对象获取文件的各种信息,还可以对文件进行创建 ,删除。

我们来看看 File 类最常用的方法

创建:

createNewFile()  创建一个空文件,成功返回 true,失败返回 false

mkdir()   创建一个单级目录

mkdirs()  创建一个多级目录

删除:

delete()   删除文件或者文件夹(不能删除 非空文件夹,也不能删除多级目录) 成功返回 true

判断:

exists()  判断 该文件(目录)是否存在   存在 true ,不存在 false

isFile()   判断 是否是一个文件,如果不存在,则始终为false

isDirectory()   判断是否是一个目录,如果不存在,则始终为false。

isHidden()   判断 该文件(目录)是否隐藏

canRead()   判断该文件是否 可读

canWrite()   判断该文件是否 可写

length()   返回该文件的 大小 【单位字节】

getParent()  返回该文件的上级目录

getAbsolutePath()   返回该文件的 全局路径

getPath()   返回该文件的 相对路径,相对路径 需要参照物,在main中 的参照物就是当前项目空间

list()  返回一个 指定目录下所有文件名称 组成的  String类型的数组 

listFiles()   返回一个  指定目录下 所有文件  组成的   File类型的数组

操作文件

package com.dong.file;

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

/**
 * @Auther: dong
 * @Date: 2020/11/23 - 9:50
 * @Description: com.dong.file
 * @version: 1.0
 */
public class Test {
    public static void main(String[] args) throws IOException {
        /**
         *  对文件进行操作
         */

        File f = new File("d:\\最新激活码.txt");
        File f1 = new File("d:\\最新激活码.txt");

        // 判断该文件是否存在
        if(f.exists()){
            System.out.println(f.delete());     // 如果存在 就删除这个文件
        }else{
            System.out.println(f.createNewFile());      // 如果不存在 就创建这个文件
        }

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

        System.out.println("该文件是否可读:"+f.canRead());    // 该文件是否 可读
        System.out.println("该文件是否可写:"+f.canWrite());   // 该文件是否 可写
        System.out.println("文件的名称:"+f.getName());    // 文件的名称
        System.out.println("上级目录:"+f.getParent());      // 上级目录
        System.out.println(("是否是一个目录:" + f.isDirectory()));    // 判断是否是一个目录
        System.out.println(("是否是一个文件:" + f.isFile()));         // 判断是否是一个文件
        System.out.println(("文件是否隐藏:" + f.isHidden()));
        System.out.println("文件大小"+f.length());         // 这里的长度 单位 【字节】
        System.out.println("是否存在:"+f.exists());

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

        System.out.println((f == f1));      // 比较两个对象的地址
        System.out.println(f.equals(f1));   // 比较两个对象的值

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

        File f2 = new File("dong.txt");
        // 判断该文件是否存在
        if(!f2.exists()){
            // 如果不存在 则创建
            f2.createNewFile();
        }

        // 完整的路径
        System.out.println("绝对路径:"+f2.getAbsolutePath());
        // 相对路径 需要参照物  在 main 方法中 的参照物 就是 当前 项目空间
        System.out.println(("相对路径:" + f2.getPath()));
        // 永远和相对路径一样
        System.out.println("toString:"+f2.toString());




        /**
         *  list() 方法 返回 一个 String【该目录下所有文件名字】的 数组
         */
        File f2 = new File("e:\\照片");
        // 将 f2 这个目录下的 所有【文件的名字】 遍历出来
        String[] list = f2.list();
        for(String str:list){
            System.out.println(str);
        }

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

        /**
         *  listFiles() 方法   返回 一个 类型为 file【该目录下所有文件】的 数组
         */
        // 将 f2 这个目录下的 所有【文件】 遍历出来
        File[] files = f2.listFiles();
        for (File file:files){
            System.out.println(file);
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值