java数据流的分析小结和编码格式的一点知识

刚读完一篇博文,做一下总结,练练心

java数据流操作主要分为字节流字符流

1.字节流
对于字节流,它是用来操作我们的二进制文件的,为什么呢?因为字节流可以操作的数据是8位,也就是一字节,我们知道1 byte = 8bit,而像一些数字和字母等都是占一个字节,这就可以使用字节流来操作,但是对于中文的话就不能使用字节流了

基础接口:InputStream outputStream

2.字符流
因为一个汉字是占两个字节,那么就是16位,字节流是操作不了的,而字符流则可以操作16位,所以对于文本文件则常用字符流操作了

基础接口:reader writer

PS.对于字节流和字符流是都可以用来操作文本文件或者其他文件的,关键看你的文件内容,如果文件内容存在中文信息就必须要使用字符流的进行数据传输

一.字节流操作

常用实现类:FileInputStream,FileOutputStream;ByteArrayInputStream,ByteArrayOutputStream;

读取方式:

1.一个字节一个字节的读取

FileInputStream fileInputStream = new FileInputStream(dataTest);
int i =fileInputStream.read();
char c=(char)i;
System.out.println(c);

2.多个字节一起读取

byte[] bytes=new byte[1024];//1kb
FileInputStream fileInputStream = new FileInputStream(dataTest);
fileInputStream.read(bytes);

二.字符流操作

常用实现类:InputStreamReader,OutputStreamWriter;FileReader,FileWriter;BufferReader,BufferWriter;

读取方式:

1.一个一个读取

FileInputStream fileInputStream=new FileInputStream(dataTest);
InputStreamReader inputStreamReader=new InputStreamReader(fileInputStream);
char c =(char)inputStreamReader.read();
inputStreamReader.close();

2.多个字节一起读取

FileInputStream fileInputStream=new FileInputStream(dataTest);
InputStreamReader inputStreamReader=new InputStreamReader(fileInputStream);
char[] rw=new char[64];
int ss =inputStreamReader.read(rw);
inputStreamReader.close();

写入方式:

1.

OutputStreamWriter outputStreamWriter=new OutputStreamWriter(new FileOutputStream(dataTest));
outputStreamWriter.write("3132明明没");
outputStreamWriter.close();

最后插一句关于编码格式的话我的开发工具是3.5.2,默认的字符编码格式是UTF-8,所以使用流将字符输入到文件的时候,文件内存的是UTF-8格式的字符,如果你用文本编辑器打开,使用gbk格式解析的话就会出现乱码;所以写入到文件用的是什么编码格式,也要用什么编码格式进行读取和解析。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值