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

一、任务简要描述

java中多种方式读写文件

1、按字节读写文件内容

2、按字符读写文件内容

3、按行读写文件内容

4、随机读写文件内容

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

653d7b864ff265cf2c912c1e60a5960e.png

6582bb743958c3485e1330eaa9f294b3.png

二、问题及解决

3.1运行结果

Test1

8f41316e41c9dfbcc0dc66273452ce46.png

Test2

f3d8f3a9077f4d79ee882beffe44e007.png

Test3

a58a8aca73ba0b2876c769b8f0b53c38.png

3.2&3.3运行结果

3.2

cc05395a1ac2d60e28e01fb3fa04dba0.png

3.3

07e10bd6b0e8ce420ca5a2049b5e2e1a.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方法会返回一个"以文本方式表示"此对象的字符串。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值