欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

认识文件和流

程序员文章站 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()的构造函数
有两个 ---一是传递的文件路径  -----一是文件对象