字节输入流与字符输入流的一些使用

流概述

把计算机中各种不同的输入输出(键盘,文件,网络)源抽象为流

1.按流向:

输入流(input):通过程序只能从流中读取字节或者字符数据

输出流(output):只能通过程序向外输出字节或字符数据

【注】所有的输入输出都是基于程序的角度考虑的

2.按照处理数据类型划分:

字节流(byte):8bit;处理字节数据(比如:音频,视频,图片等二进制文件)Stream

字符流(cha r):16bit;处理Unicode(字符)数据(如:春文本文件,字符串信息)reader

 

 

输入流的用法:

 

 

 

 

【字节流的读取:】(InputStream

 

 

【字符流的读取:】

 

 

 

 

输出流的用法:

 

【注】:若将content的内容改变时,再次运行(若不加true关键字),则文件中被写入的只有改变的内容(前一次写入的内容被改变后的内容覆盖),故加上true关键字可实现追加;

Write()方法中可以放字节数组(write(b))或者write(b,0,len)。因此要将string类型的内容转换成字节数组。

 

 

 

 

 

 

 

输入流和输出流的结合使用(文件拷贝)

1)拷贝标准文件:

 

 

 

 

 

 

 

2)拷贝含有路径的文件:

 

 

 

 

字节流转字符流:

 

字符流转字节流:

 

 

 

高级流:

BufferedReader:

(1)字符流读取,每次读取一整行

 

 

【注意】:高级字符流读取的是一整行(readLine()),且判断是否读完的标志为!=null

(2)将字节流转换为字符流,每次读取一整行文本

 

BufferedReaderBufferedWriter的结合使用:(文件拷贝)

 

【注意】使用高级字符流时要进行换行(newLine())和刷新(flush()

 

BufferedInputStreamBufferedOutputStream的结合使用:(文件拷贝)

 

Java是否存在泄漏问题?

理论上Java中是不存在内存泄漏,因为Java中。。。。。GC机制(垃圾回收机制),当引用变量,对象信息使用完毕后,系统会自动调用GC实现内存的回收;但是如果在程序使用了第三方资源,比如文件,网络,数据库等一些资源,这些资源GC无法实现回收,所以通常需要主动调用资源提供的回收或者释放等接口完成内存的释放,否则就可能导致系统内存泄露

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值