java中的字符流

        字符流是处理字符的流,系统中字符的编码有许多种,例如Unicode 、UTF-8 、 UTF-16 、GB2312  GBK等,不同的编码格式其所对应的字节是不同的。

         其中java字符采用的编码格式是unicode编码,每个字符占两个字节。

        字符流很大情况下主要是用来处理字符的编码转换和文本文件的读取。因此,在对文本文件进行读取操作时,我们必须要清楚的知道所读取的文本文件的编码格式和我们所要写入的文本文件的编码格式,不然将会出现乱码和错误的信息,写入的信息也不利于以后的文件再读取。

 字符流读写的代码实现:

       读取:

        InputStreamReader-------适配器----先取出该文本文件对应的字节流,然后按照该文本的编码格式(比如该文本文件的编码格式为utf-8)将字节流转换为字符流,

                                              最后在转换为java的JVM的编码格式(即unicode)

       BufferedReader------------装饰器----为其他Reader提供缓冲区,在读取文本文件中我们主要使用该该类的readLine()函数,来每次读取一行。

 

      写入操作:

      OutputStreamWriter------适配器-----先使字符由Unicode码转化为我们要写入文本文件对应的编码格式(比如我们要写入文件的编码格式为utf-8),然后将该编码

                                            格式对应的字节流写入文本文件中

      BufferedWriter-------------装饰器-----为其他Writer提供缓冲区,

      PrintWriter------------------在写文本文件程序中,我们主要使用该类的格式化输出,以及该类型换行输入函数println()等。

     

看下面这个简单的例子:

import java.io.*;
public class zifuliu1
{
 public static void main(String args[])throws IOException
 {
  System.out.println("请输入你的岁数");
  InputStreamReader in=new InputStreamReader(System.in);//其中System.in 是字节流 ,通过使用InputStreamReader 来将System.in转换为字符流
  BufferedReader br=new BufferedReader(in);//然后通过BufferedReader来缓冲输入字符流
  String s=br.readLine(); //通过readLine方法来读取字符流
  int i=Integer.parseInt(s);//对字符串进行转换,为整形
  if(i>18)
   System.out.println("成年人");
  else
   System.out.println("未成年人");
 }
}

 


 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值