Java上机实验报告(2)

一、任务简要描述

java中多种方式读文件
1、按字节读文件内容
2、按字符读文件内容
3、按行读文件内容
4、随机读文件内容

流是一个抽象的概念。当Java程序需要从数据源读取数据时,会开启一个到数据源的流。数据源可以是文件,内存或者网络等。同样,当程序需要输出数据到目的地时也一样会开启一个流,数据目的地也可以是文件、内存或者网络等。流的创建是为了更方便地处理数据的输入输出。

二、问题及解决

3.1运行结果

Test1

 

Test2

 

Test3

 

3.2&3.3运行结果

3.2

 

3.3

 

总结:

字符流的由来: 因为数据编码的不同,而有了对字符进行高效操作的流对象。本质其实就是基于字节流读取时,去查了指定的码表。

 

 字节流和字符流的区别:

读写单位不同:字节流以字节(8bit)为单位,字符流以字符为单位,根据码表映射字符,一次可能读多个字节。

处理对象不同:字节流能处理所有类型的数据(如图片、avi等),而字符流只能处理字符类型的数据。

字节流:一次读入或读出是8位二进制。

字符流:一次读入或读出是16位二进制。

 

设备上的数据无论是图片或者视频,文字,它们都以二进制存储的。二进制的最终都是以一个8位为数据单元进行体现,所以计算机中的最小数据单元就是字节。意味着,字节流可以处理设备上的所有数据,所以字节流一样可以处理字符数据。

 

结论:只要是处理纯文本数据,就优先考虑使用字符流。 除此之外都使用字节流。

 

输入流和输出流

 

输入流只能进行读操作,输出流只能进行写操作,程序中需要根据待传输数据的不同特性而使用不同的流。

 

存在问题:3.3中26行out.write(tBuffer); 报错

原因是:The method write in the type OutputStreamWriter is not applicable for the arguments(StringBuffer)

问题解决:改为out.write(tBuffer.toString());

public String toString()返回该对象的字符串表示。通常,ToString方法会返回一个"以文本方式表示"此对象的字符串。

posted @ 2019-06-30 03:17  库妍  阅读(452)  评论(0编辑  收藏  举报