java上机实验2答案_Java上机实验报告(2)

本文详细介绍了Java中读写文件的四种方式,包括按字节、字符、行和随机读写。字符流是针对数据编码而设计的,它基于字节流并在读取时考虑了码表转换。字节流和字符流的主要区别在于读写单位和处理对象,字节流适用于所有类型数据,而字符流专用于字符数据。在处理纯文本时优先使用字符流,其他情况使用字节流。在实际操作中,需要注意方法参数匹配,如将`StringBuffer`转换为`String`以避免编译错误。
摘要由CSDN通过智能技术生成

一、任务简要描述

java中多种方式读写文件

1、按字节读写文件内容

2、按字符读写文件内容

3、按行读写文件内容

4、随机读写文件内容

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

624a699d03a0e60267de441a37c9e940.png

b6da8c60c8c15a66e1f3980f1447be31.png

二、问题及解决

3.1运行结果

Test1

591991c1d0fd66cc717ac53227974f05.png

Test2

a1379717e1f953b27e4deb90afca5343.png

Test3

a58a8aca73ba0b2876c769b8f0b53c38.png

3.2&3.3运行结果

3.2

cc05395a1ac2d60e28e01fb3fa04dba0.png

3.3

f8dd4f72a323127ebbb3d232a98353a4.png

总结:

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

字节流和字符流的区别:

读写单位不同:字节流以字节(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方法会返回一个"以文本方式表示"此对象的字符串。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值