JAVA IO流

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

开发工具与关键技术: MyEclipse  Java se

撰写时间:2019年0423

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

基础测试中有两个关于IO流的知识要点的测试题,所以根据这两题就此做一个与试题相关JAVA IO流的知识要点总结以及自己的一些理解。

流的概念我们可以定义为是对不同的输入,输出源的一个抽象表达,流作为IAVA中实现输入、输出的基础,可以说是一条纽带,使JAVA程序可以使用同样的方式方便的访问各种不同的输入输出源,从而实现对数据的输入输出操作。

简答题中有一个阐述对流的分类。流的分类有三种:1.按照流的流向来划分,就可得输入流和输出流。它们同样都是从程序所在内存的角度来划分。输入流:只能读取数据,不能将数据写入.由InputStream和Reader当做是它的基类。输出流就和输入流正好相反,只能将数据写入,反而不能读取其中的数据。它的基类就是OutputStream和Writer.2.字节流和字符流:两者除开对操作数据的单元不同而外,其余用法基本一样。字节流的基类是InputStream和OutputStream,操作的数据单元为8位字节,字符流的基类是Writer和Reader,操作的数据单元为16位字符。3.还可以按照流的角色来分,可分为节点流和处理流。

节点流被称为低级流,因为它读取写入的数据流的对象是一个特定的IO设备。而处理流可想而知就被称为高级流,它可对一个已经存在的流来连接或封装,封装后来实现数据的写入和读取操作。

InputStream,Reader是所有输入流的基类,两者使用方法差不多,不同在于InputStream读取字节,参数用的是byte[], Reader读取字符,参数用的是char[].我们知道抽象类是不能创建实例的,所以InputStream和Reader当然也不被允许,所以就给他们各自一个读取文件的输入流:FileInputStream和FileReader.

OutputStream ,Writer是所有输出流的基类,它们的文件读取输出流是FileOutStream和FileWriter这两个类的方法是所有输出均可使用的。比输入流多的一个刷新方法。在关闭流之前使用。而Writer比OutputStream又要多一个append(将指定字符,或字符序列添加到writer)的方法。

在输入,输出流中还存在有转换流。InputStreamReader和OutputStreamWriter. 前者用于输入流将字节流转换成字符流的形式,后者则是输出流时将字节流转换成字符流输出。

编程的最后一题使用IO流的知识,复制文件夹。要求:复制文件夹中的所有文件、目录,且保持目录结构不变。这里运用到的是File类以及递归的知识。我们给File类的定义是IO中与平台无关的文件和目录的类。我们可以运用File类来对文件及其目录进行操作。但是File只能对文件,目录进行新建,删除以及重命名的操作,它是不能访问到文件里面的内容。访问文件内部还是得靠输入输出流。

File类有很多常用的方法:访问名称与路径相关;检测的相关方法;获取文件信息;操作相关;以下是举例说明效果。

根据图片我们可以看到在使用File类创建目录的时候,使用了mkdir()方法,调用此方法成功创建会返回True. 返回false则失败。失败原因可能是File对象路径已存在,或整个路径不存在因而无法创建文件夹。在File类中还存在mkdirs()方法来创建一个文件夹和它所有的父文件夹。File对象其实对应的就是一个文件目录,它可包含其他文件以及文件夹。在创建一个File目录对象后,调用isDirectory()判断是否是目录的方法则会返回true. 当然我们还可以用list()方法,去读取该目录对象中的文件以及文件夹。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值