[JAVASE]笔记11

本文详细介绍了Java中的File类,包括其构造方法和常用方法,如创建、删除、判断文件属性等。此外,还讲解了IO流的分类,如字节流、字符流、节点流和处理流,以及文件拷贝的操作。最后提到了对象流的序列化与反序列化概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

File类:

文件和目录路径名的抽象表示形式

构造方法
File(File parent,String child)
根据parent抽象路径名和child路径名字符串来创建一个新的File实例
File(String pathname)
通过将给定路径名 字符串转换为抽象路径名来创建一个新的File实例
File(String parent,String child)
根据parent路径名 字符串和child路径名 字符串创建一个新的File实例

方法
1、boolean canWrite() 测试应用程序是否可以修改抽象路径名表示的文件。 如果文件设置为只读,就不可以修改
2、boolean setReadOnly()
3、boolean createNewFile()当文件不存在的时候创建一个该文件,并返回true
当文件存在的时候,直接返回false
4、boolean delete()删除
5、boolean exists() 测试此抽象路径名表示的文件或者目录是否存在
6、File getAbsoluteFile()
返回此抽象路径名的绝对路径名形式
String getAbsolutePath(0
返回此抽象路径名的绝对路径名表示形式
7、long getTotalSpace();
获取目录的总内存
long getFreeSpace();
获取目录剩余空间的内存(long)
8、String getParent()
返回此抽象路径父目录的路径名称字符串
File getParent()
返回此抽象路径名父目录的抽象路径名;如果此路径名没有指定父目录,则返回null
9、boolean isAbsolute()
测试此抽象路径名是否为绝对路径名
10、boolean isDirectory()
测试此抽象路径名表示的文件是否是一个目录
boolean isFile()
测试此抽象路径名表示的文件是否是一个标准文件
boolean isHidden()
测试此抽象路径名指定的文件是否是一个隐藏文件
11、long lastModified() 返回此抽象路径名表示的文件最后一次被修改的时间
12、long length() 返回由此抽象路径名表示的文件的长度
13、String[] list(0
File[] listFiles()
14、boolean mkdir()
创建此抽象路径名指定的目录
boolean mkdirs()
创建此抽象路径名指定的目录,包含所有必须但不存在的父目录
15、重新命名此抽象路径名表示的文件

IO:

流:一连串流动的数据,先进先出的放肆传递信息,管道
数据源:目的地----**>以程序为中心**换分读入写出

流的分类:
按照流向分:
输入流
输出流
按操作单元分:
字节流
字符流
按功能分:
节点流
处理流|功能流

字节流:是万能的 功能:节点流
InputStream 字节输入流 此抽象了是表示字节输入流的所有类的超类。 read()有返回值,值是读取的长度
FileInputStream 从文件系统中的某个文件中获得输入字节。
OutputStream 字节输出流 write() 没有返回值!
字符流:只能读写纯文本内容 功能分类:节点流
Reader 字符输入流 FileReader 文件字符输入流
Writer 字符输出流 FileWriter

字符流 字节流 ----> 节点流
包裹节点流,在节点流之上 ----> 功能流|处理流
处理流:增强功能,提高性能的作用,在节点流之外才能使用,不能代替节点流

缓冲流:提高性能
字节缓冲流 :BufferedInputStream BufferedOutputStream 无新增方法
字符缓冲流:不能发生多态(想要使用新增方法,不要发生多态),因为***存在新增方法***

BufferedReader 字节输入缓冲流 新增方法 readLine() 读取一行
BufferedWriter 字节输出缓冲流 新增方法 newLine() 写出一个换行符

文件的拷贝
数据源 程序 目的地
关闭流:先打开的后关闭,后打开的先关闭
注意!:在进行文件的拷贝之前,需要提前创建有一个文件

对象流
对象流 序列化 公共流
ObjectInputStream 反序列化输入流 新增方法 readObject()
ObjectOutputStream 序列化输出流 新增方法 writeObject()

注意:
先序列化后反序列化
输入写出的顺序必须一致
不是所有的类都能够序列化 实现接口java.io.Serializable
不是所有的属性都需要序列化 transient
如果父类实现了序列化接口,子类中所有的内容都与能力序列化
如果子类实现了序列化接口,但是父类没有实现,子类只能序列化自己的内容
静态的内容不能序列化

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值