认识文件和流
程序员文章站
2022-07-01 16:18:24
...
文件
文件有相对路径:相对于当前来说
绝对路径:只要带上盘符
不同的操作系统分隔符不同 通常要使用常量实现 liunx---/ : win ---\ ;
File类得常用方法和变量
构造方法:
FIle(String pathName)---创建一个指向路径为pathName的文件对象
File(File parent,String child)---在parent的下面创建一个名为child的文件对象
File(String parent,String child)----以一个parent字符串为父目录名 创建一个指向名为Child的文件对象
普通方法
exists()----判断文件是否存在 返回布尔类型
getName()----得到文件名
isFile()---判断是否为文件 返回布尔型
isDirectory()---判断是否为目录 返回布尔型
length()--- 得到文件的长度 byte 计算 若为目录 返回0
creatNewFile()---根据File对象的名字在磁盘上创建一个新的真实文件 若有同名文件则覆盖 若是同名目录则抛出一个异常 创建失败
两个返回数组的方法
File[] listFile()----返回调用File对象下一级的目录和真实文件 以数组的形式
static File[] listDirectory----系统的静态方法直接调用 返回系统的磁盘 以数组的方式
异常
try----捕捉异常
catch----处理异常
finally----不管怎样都执行的代码块关键字
throw---抛出一个异常对象
throws---抛出异常交给调用处处理
常见的异常
数组越界;空指针异常;数据类型异常;
特殊:
内存不足错误
流的概念
输入输出的抽象称为流 实现外界与控制台的数据交换
流的种类
按流向有输入流和输出流
按性质有:
字节流----FileInputStream() FileOutputStream()---特征:直接读取输入源 读取数据为byte每次一字节 具有过程性
过滤流-----BufferedInputStream() BufferedOutputStream()---特征:先读入缓存在一起输出 适合大数据量得读取
数据类型流---DataInputStream() DataOutputStream()----特征:可以从流中读取指定数据类型
基于对象的读写---ObjectInputStream() ObjectOutputStream()---特征:序列化技术保存对象 关键字是Transient
前3者都是缓冲流不要保存对象 只有当要保存对象时才需要序列化
继承关系
BufferedInputStream()-----继承自---FileInputStream()---继承自---|
DataInputStream()----继承自---FileInputStream() ---------------|---> InputStream()
ObjectInputStream()---------------继承自------------------------|
InputStream()的几种方法
int available()----计算长度
void close()----为了不占用系统资源 关闭使用完的流对象
int read()-----一个个字节读取
int read(byte array)----读取一定数量的字节将其存到缓存array[]数组中
FileInputStream()的构造函数
有两个 ---一是传递的文件路径 -----一是文件对象
文件有相对路径:相对于当前来说
绝对路径:只要带上盘符
不同的操作系统分隔符不同 通常要使用常量实现 liunx---/ : win ---\ ;
File类得常用方法和变量
构造方法:
FIle(String pathName)---创建一个指向路径为pathName的文件对象
File(File parent,String child)---在parent的下面创建一个名为child的文件对象
File(String parent,String child)----以一个parent字符串为父目录名 创建一个指向名为Child的文件对象
普通方法
exists()----判断文件是否存在 返回布尔类型
getName()----得到文件名
isFile()---判断是否为文件 返回布尔型
isDirectory()---判断是否为目录 返回布尔型
length()--- 得到文件的长度 byte 计算 若为目录 返回0
creatNewFile()---根据File对象的名字在磁盘上创建一个新的真实文件 若有同名文件则覆盖 若是同名目录则抛出一个异常 创建失败
两个返回数组的方法
File[] listFile()----返回调用File对象下一级的目录和真实文件 以数组的形式
static File[] listDirectory----系统的静态方法直接调用 返回系统的磁盘 以数组的方式
异常
try----捕捉异常
catch----处理异常
finally----不管怎样都执行的代码块关键字
throw---抛出一个异常对象
throws---抛出异常交给调用处处理
常见的异常
数组越界;空指针异常;数据类型异常;
特殊:
内存不足错误
流的概念
输入输出的抽象称为流 实现外界与控制台的数据交换
流的种类
按流向有输入流和输出流
按性质有:
字节流----FileInputStream() FileOutputStream()---特征:直接读取输入源 读取数据为byte每次一字节 具有过程性
过滤流-----BufferedInputStream() BufferedOutputStream()---特征:先读入缓存在一起输出 适合大数据量得读取
数据类型流---DataInputStream() DataOutputStream()----特征:可以从流中读取指定数据类型
基于对象的读写---ObjectInputStream() ObjectOutputStream()---特征:序列化技术保存对象 关键字是Transient
前3者都是缓冲流不要保存对象 只有当要保存对象时才需要序列化
继承关系
BufferedInputStream()-----继承自---FileInputStream()---继承自---|
DataInputStream()----继承自---FileInputStream() ---------------|---> InputStream()
ObjectInputStream()---------------继承自------------------------|
InputStream()的几种方法
int available()----计算长度
void close()----为了不占用系统资源 关闭使用完的流对象
int read()-----一个个字节读取
int read(byte array)----读取一定数量的字节将其存到缓存array[]数组中
FileInputStream()的构造函数
有两个 ---一是传递的文件路径 -----一是文件对象