学习Java第7天--Date类、File类、流

一、Date类:

时间日期类型 Date,精确到时刻。

  • Date( ) 分配Date对象并对其进行初始化,使其表示分配时间精确到毫秒:

Date date = new Date();
    System.out.println(date);
  • boolean after(Date when)测试日期是否在指定(when)日期之后:

date.after(date);
  • boolean before(Date when)测试日期是否在指定(when)日期之前:

date.before(date);
  • 时间格式化转换器 SimpleDateFormat,SimpleDateFormat(格式) :默认转换格式

SimpleDateFormat simple1 = new SimpleDateFormat();
SimpleDateFormat simple2 = new SimpleDateFormat("yy-MM-dd HH:mm:ss SSS");
  • 格式化date(日期->文本):

String strDate = simple2.format(date);
  • 解析date(文本->日期)

Date date = simple2.parse("2023-12-12 09:20:09 080");
二、File类:
  • File :文件和目录路径名的抽象表示。

  • 绝对路径: 从盘符开始的路径

  • 相对路径:不从盘符开始

  • (默认在当前项目根目录下)

  • File(String pathname)通过将给定的路径名字符串转换为抽象路径名来创建新的File实例:

File file = new File("D://aaa/test.txt");
  • File(File parent,String child)从父抽象路径名和子路径名字符串创建新的File实例

File file1 = new File("D://aaa","test.txt");
  • boolean canWrite() 测试应用程序是否可以修改此抽象路径名表示的文件。

file1.canWrite();
  • boolean setReadOnly() 标记此抽象路径名指定的文件或目录,以便仅允许读取操作。

file1.setReadOnly();
  • boolean createNewFile() 当且仅当具有此名称的文件尚不存在时,以原子方式创建由此抽象路径名命名的新空文件。

file6.createNewFile();
  • boolean delete() 删除此抽象路径名表示的文件或目录。

file6.delete();
  • boolean exists() 测试此抽象路径名表示的文件或目录是否存在。

    if(!file6.exists()){
        file6.createNewFile();
    }//如果file6不存在则创建file6
  • getAbsoluteFile() 返回此抽象路径名的绝对形式。返回值类型:返回此抽象路径名的绝对形式。

file.getAbsoluteFile();
  • getAbsolutePath() 返回此抽象路径名的绝对路径名字符串。返回值类型:返回此抽象路径名的绝对路径名字符串。

file.getAbsolutePath();
  • long getFreeSpace() 通过此抽象路径名返回分区 named中未分配的字节数。

File file7 = new File("D:/");
    System.out.println(file7.getFreeSpace());
  • long getTotalSpace() 通过此抽象路径名返回分区 named的大小。

    System.out.println(file7.getTotalSpace());
  • String getName() 返回此抽象路径名表示的文件或目录的名称

    System.out.println(file1.getName());
  • String getParent() 返回此抽象路径名父项的路径名字符串,如果此路径名未指定父目录,则返回 null 。

    System.out.println(file1.getParent());
  • File getParentFile() 返回此抽象路径名父项的抽象路径名,如果此路径名未指定父目录,则返回 null 。

    System.out.println(file1.getParentFile());
  • boolean isAbsolute() 测试此抽象路径名是否为绝对路径。

    System.out.println(file1.isAbsolute());
  • boolean isDirectory() 测试此抽象路径名表示的文件是否为目录。

    System.out.println(file1.isDirectory());
  • boolean isFile() 测试此抽象路径名表示的文件是否为普通文件。

    System.out.println(file1.isFile());
  • long lastModified() 返回上次修改此抽象路径名表示的文件的时间。

    System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date(file1.lastModified())));//以文本格式输出上次修改抽象路径名(file1)的时间
  • String[] list() 返回一个字符串数组,用于命名此抽象路径名表示的目录中的文件和目录。

    System.out.println(Arrays.toString(file3.list()));
  • File[] listFiles() 返回一个抽象路径名数组,表示此抽象路径名表示的目录中的文件。

    System.out.println(Arrays.toString(file3.listFiles()));
  • boolean mkdir() 创建此抽象路径名指定的目录。

    System.out.println(new File("D:/bbb/aaa/ccc").mkdir());
  • boolean mkdirs() 创建此抽象路径名指定的目录,包括任何必需但不存在的父目录。

    System.out.println(new File("D:/bbb/aaa/ccc/test.txt").mkdirs());
  • boolean renameTo(File dest) 重命名此抽象路径名表示的文件。

    System.out.println(file1.renameTo(new File("D://test01.txt")));
三、流
  • 流 : 数据以先入先出的方式进行流动,相当于管道,作用用来传输数据。

  • 需求 : 如何实现读写文件内部的内容?

数据源-->流-->目的地

  • 流的分类 :

  • 流向分 : 以程序为中心

文件输入流:FileInputStream

文件输出流:FileOutputStream

  • 操作单元 :

字节流 : 万能流

字符流 : 只能操作纯文本文件

  • 功能分 :

节点流 : 真实实现读写的

功能流(包装流|处理流) : 加强节点流的功能,提高节点流的性能

所有的功能流都需要包裹节点流进行使用

tips: 所有的分类相辅相成

  • java.io包

InputStream : 此抽象类是表示输入字节流的所有类的超类。

数据源 : 文件 | 字节数据

文件 : FileInputStream

字节数据 : ByteArrayInputStream

OutputStream : 此抽象类是表示输出字节流的所有类的超类。

FileInputStream : 文件字节输入流

功能分 : 节点流 操作单元分 : 字节流 流向分 : 输入流

从文件中读入数据到程序实现步骤 :

1.与文件建立联系 File->数据源

File src = new File("D://AAA/test.txt");

2.创建文件字节输入流->管道

//InputStream is = new FileInputStream(src);
InputStream is = new FileInputStream("D://AAA/test.txt");

3.读取数据

//int read() 从此输入流中读取一个字节的数据。
int num1 = is.read();

4.使用数据

System.out.println((char)num1);
System.out.println((char)(is.read()));
System.out.println((char)(is.read()));
System.out.println(is.read()); //数据的下一个字节,如果到达文件的末尾, 返回-1 。 

5.关闭资源

is.close();//关闭此文件输入流并释放与该流关联的所有系统资源。
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值