一、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();//关闭此文件输入流并释放与该流关联的所有系统资源。