Java之输入输出与文件处理(十二)

我们现在所能实现的,其实与我们编写的C++没有任何区别,甚至说比较的low,我们学习这些基础的语言及语法,实际是要实现我们的交互式工作,以及我们的实际的作用


输入输出是指程序与外部设备或其它计算机进行交互的操作,几乎所有程序都具有输入与输出操作,而Java将这些输入输出操作用流来实现,用统一的接口来表示,使程序设计简单明了

流(Stream)–计算机个部件之间的数据流动,按数据流的方向分为输入流和输出流,内容上可划分为字节流和字符流,而其中的数据既可以是二进制,也可使经过编码处理的符合某种格式规定的特定数据
即流是由位组合或字符所构成的序列,如字符流序列,数字流序列等
用户通过流来读写数据,甚至通过流来连接数据源,并可以将数据以字符或位组合的形式保存

  1. 输入输出流
    数据的获取和发送都是沿着数据序列的顺序进行,每个数据都必须等待排在它前面的数据读入或送出之后才能被读写,每次读写操作都是序列中剩余的未读写数据的第一个,而不能随意选择输入输出位置
  2. 缓冲流
    为一个流配有一个缓冲区,专门用来传送哦数据的一块内存
    向一个缓冲流写入数据时,系统将数据发送到缓冲区,而不是直接发送到外部设备
    从一个缓冲流中读取设备时,实际是从缓冲区读取,缓冲区为为空时,系统会从相关外部设备自动读取数据,并读取尽可能多的数据填满缓冲区

即缓冲流提高了内存与外部设备之间的数据传输效率

这里就不详细描写我们的输入输出流库了,在网上都可以百度到

文件处理与随机访问

由于程序运行时,数据保存在系统的内存中,关机时会导致所有数据丢失,故将那些需要长期保存的数据存放在磁盘中,需要时再读出

  1. 创建File类的对象
    由于每个File类都对应系统的一个磁盘文件或文件夹,所以创建时需要给出它对应的文件名或文件夹名
    构造方法如下
构造方法功能说明
public File(String path)用path参数创建File对象对应的磁盘文件名或文件夹名及其路径
public File(String path, String name)以path为路径,以name为文件或文件夹名创建FIle对象
public File(String dir, String name)用一个已经存在代表某磁盘文件夹的FIle对象dir来作为文件夹,以name作为文件或文件夹名来创建FIle对象

注意:

  • path参数可以为绝对路径,也可为相对路径,还可为磁盘上的某个文件夹
  • 由于不同的操作系统其使用的文件夹分隔符不同,为了使其可以在不同平台上运行,可利用File类中的一个静态变量FIle.separator
    e.g.
"d: " + File.separator + "java" + File.separator + "myfile"
  1. 获取文件或文件夹的属性
    一个FIle对象一经创建,就可以通过调用它的方法来获得其对应的文件或文件夹的属性,常用方法如下
方法功能说明
public boolean exists()判断文件或文件夹是否存在
public boolean isFile()判断对象是否代表有效文件
public boolean isDirectory()判断对象是否代表有效文件夹
public String getName()返回文件名或文件夹名
public String getPath()返回文件或文件夹路径
public long length()返回文件的字节数
public boolean canRead()判断文件是否可读
public boolean canWrite()判断文件是否可写
public String[] list()将文件夹中所有文件名保存在字符串数组中返回
public boolean equals(File f)比较两个文件或文件夹是否相同
  1. 文件或文件夹的操作
    即一些管理,操作方法
方法功能说明
public boolean renameTo(File newFile)将文件重命名为newFile对应的文件名
public boolean delete()将当前文件删除,若删除成功返回True,否则返回False
public boolean mkdir()创建当前文件夹的子文件夹,成功返回True,否则返回False
  1. 文件随机访问
    随机访问类RandomAccessFile,可实现对文件的随机读写
    其构造以及读取写入操作与我们的前面的类似,就不重复阐述,等到要用到直接百度即可
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值