JavaAPI -- File对象使用及详解

简介: JavaAPI -- File对象使用及详解

一、File类

1. 什么是API

API应用程序接口,java中所有系统定义的接口和类全部在API中;

  • Java的核心库java.io提供了全面的IO接口。包括:文件读写、标准设备输出等。
  • Java中IO是以流为基础进行输入输出的,所有数据被串行化写入输出流,或者从输入流读入。
  • 在java中,不管是文件还是文件夹都是叫做File对象File类只用于表示文件(目录)的信息(名称/大小等), 不能用于文件内容的访问。

2. File类

       描述:所属io包,File是文件和文件夹的抽象形式,java把电脑中的文件封装为一个File类。        作用:用来操作硬盘上的文件和文件夹

 2.1File构造方法

  File( String pathname ) :

  • 根据文件路径字符串创建文件对象 File(File parent , String child);
  • 根据父路径和子路径字符串创建文件对象

  2.2 .创建文夹功能boolean.createNewFile();

  • 根据文件路径创建文件对象
  • 如果文件存在什么都不做,返回false,则反之…
  • 只能用来创建文件

  2.3 创建文件夹功能boolean.mkdir();

  • 只能创建单级文件夹
  • 只能用来创建文件夹
  • boolean.mkdirs(); 可以创建单级和多级文件夹

  2.4.删除功能boolean.delete();

       如果删除的是文件夹,则文件必须是空文件夹否则不能删除

3. File获取功能

(1)long length() :获取文件大小

(2)String getName() :获取文件夹和文件名字

(3)String geiParent() : 获取父路径字符串

(4)File getParentFile() :获取父路径文件对象

(5)String getAbsolutePath : 获取绝对路径字符串

(6)long lastModified() :获取文件最后的修改时间

4. File判断功能

(1)boolean exists() :判断文件或文件夹是否存在

(2)boolean isFile() : 判断是否是文件

(3)boolean isDirectory() :判断是否是文件夹

(4)boolean isHidden() :判断是否是隐藏文夹

5. List获取功能

(1) S tring list() :获取文件下面所有的文件名字

(2) F ile[] lsitFiles() :获取当前文件夹下的所有文件对象;

(3) String listRoots() :获取当前系统的盘符

6. File类使用实例

import java.io.File;
public class FileOperations {
    public static void main(String[] args) {
        // 指定一个文件路径
        String filePath = "C:/example.txt";
        // 创建一个JavaApiFile对象
        File file = new File(filePath);
        // 检查文件是否存在
        if (file.exists()) {
            System.out.println("文件名:" + file.getName());
            System.out.println("文件路径:" + file.getPath());
            // 如果是文件而不是目录,则打印文件大小
            if (file.isFile()) {
                System.out.println("文件大小:" + file.length() + "字节");
            }
        } else {
            System.out.println("文件不存在。");
        }
    }
}

其他方法就不一一列举,自行实践🫰

二、递归算法

       概述:方法自身调用自己就称为递归

       递归的分类:

  1. 直接递归:方法A调用方法A
  2. 间接递归:方法A 调用方法B

主意: 1. 递归必须有出口(结束递归的条件)

           2. 构造方法不能使用递归

三、扩展内容

     1.文件选择器(FileChooser)

概述:打开文件或文件夹、保存文夹或文件夹;

常用的方法:

  1. setFileSelectionMode( int mode ) : 设置用户只能选择文件或目录
  2. showOpenDialog(stage) : 弹出一个打开文件对话框
  3. showSaveDialog(stage) : 弹出一个保存文件对话框
  4. setMusltiSelectionEnabled(boolean b ) :设置文件选择器,允许选择多个文件

      2.Calendar 日历类 :

       Calendar cd = Calendar.getInstance();

  • 把 l ong类型的最后修改时间转为Date类型 Date fileTime = cd.getTime();
  • 获取当前日期 cd.setTime(new Date());
  • 当前日期减去1个月,即一个月之前的时间cd.add(Calendar.MONTH,-1)
  • 获取Date类型的一个月前的日期 Date lastMonth = cd.getTime();

       3. 位、字节、字符

       1. 字节(Byte)是计量单位,表示数据量多少,是计算机信息技术用于计量存储容量的一种计量单位,通常情况下一字节 等于八位。

       2.字符(Character)计算机中使用的字母、数字、字和符号,比如’A’、‘B’、’$’、’&'等。一般在英文状态下一 个字母或字符占用一个字节,一个汉字用两个字节表示。

       4. 字节与字符

  • ASCII 码中,一个英文字母(不分大小写)为一个字节,一个中文汉字为两个字节。
  • UTF-8 编码中,一个英文字为一个字节,一个中文为三个字节。
  • Unicode 编码中,一个英文为一个字节,一个中文为两个字节。
  • 符号:英文标点为一个字节,中文标点为两个字节。例如:英文句号. 占1个字节的大小,中文句号 。占2个字节的 大小。
  • UTF-16 编码中,一个英文字母字符或一个汉字字符存储都需要2 个字节(Unicode 扩展区的一些汉字存储需要4 个 字节)。
  • UTF-32 编码中,世界上任何字符的存储都需要4 个字节。
相关文章
Cannot read properties of undefined (reading ‘resetFields‘)“
Cannot read properties of undefined (reading ‘resetFields‘)“
336 0
|
2月前
|
消息中间件 Kafka
使用kafka consumer加载数据加载异常并且报source table and destination table are not same错误解决办法
使用kafka consumer加载数据加载异常并且报source table and destination table are not same错误解决办法
|
5月前
|
存储 JavaScript 前端开发
成功解决:Cannot read properties of undefined (reading ‘commit‘)
这篇文章提供了解决Vuex中"Cannot read properties of undefined (reading 'commit')"错误的两种方法:检查模板中的数据属性是否存在,以及确保在Vue实例中正确挂载了store对象。
成功解决:Cannot read properties of undefined (reading ‘commit‘)
|
6月前
|
存储
Cannot read properties of null (reading ‘msg‘)
Cannot read properties of null (reading ‘msg‘)
|
6月前
|
JavaScript 前端开发
报错:Cannot read properties of undefined (reading ‘$message‘)解决方法
以上就是解决"Cannot read properties of undefined (reading ‘$message‘)"错误的几种方法,希望对你有所帮助。
3368 0
|
7月前
pulsar-client consume test-topic -s 'test-subscription' -p Earliest -n 0 这句命令的作用是什么
【6月更文挑战第27天】pulsar-client consume test-topic -s 'test-subscription' -p Earliest -n 0 这句命令的作用是什么
80 0
|
8月前
报错:cannot read properties of undefined(reading ‘forEach‘)
报错:cannot read properties of undefined(reading ‘forEach‘)
679 1
报错:cannot read properties of undefined(reading ‘forEach‘)
|
8月前
记录以下出现:java.io.IOException: (null) entry in command string: null ls -F E:\file\a.txt 情况怎么办?
记录以下出现:java.io.IOException: (null) entry in command string: null ls -F E:\file\a.txt 情况怎么办?
187 0
|
JSON NoSQL Redis
Redis反序列化错误Could not read JSON: Cannot construct instance of `java.util.ArrayList$SubList`
Redis反序列化错误Could not read JSON: Cannot construct instance of java.util.ArrayList$SubList
1116 1
Redis反序列化错误Could not read JSON: Cannot construct instance of `java.util.ArrayList$SubList`
|
存储 Java
java的缓冲流及使用Properties集合存取数据(遍历,store,load)
缓冲流 概述 字节缓冲流:BufferedInputStream,BufferedOutputStream 字符缓冲流:BufferedReader,BufferedWriter 缓冲流原理 缓冲区是内存中的一块特定区域,与在内存中定义一个数组的区域不同 BufferedOutputStream i