java字符流

                                 java 字符流

字符输入流

Writer 写入字符流的抽象类,子类必须实现的方法仅有write char [], int, int , flush ()

close ()。多数子类将重写此方法定义的方法,用来提高效率。

对文件操作,使用FileWrite类完成。

字符输出流:Writer 

使用字符输出流完成写文件操作:

public static void write1 ()

{    

File fnew File("D://1.txt");

try {

// true表示追加输出

Writer out = new  FileWriter(f,true);

String info = "good good study!";

//向文件中写入

out.write(info.toCharArray());

out.close();

}

字符输入流:

用于读取字符的抽象类,

子类必须实现的方法是read(),与close(),但是多数子类将重写定义的方法,

以提高效率。

public static void read1 () {

File f = new File ("D:\\apple.txt");

try {

Reader in = new FileReader(f);

   char [] cs = new char [20];

   StringBuffer sb = new StringBuffer();

   int len= 0 ;

   while ((len=in.read(cs))!=-1){

   sb.append(new String (cs,0 ,len));

   }

   in.close();

   System.out.println(sb);

}

字节流与字符流的区别:

在所有的流操作里,字节永远是最基础的,任何基于字节流的操作都是正确的,无论是二进制还是非二进制的文件。

如果确认流里只有可打印的字符,可以考虑使用字符流。

由于编码不同,多字节的字符可能占用多个字节,比如GBK占用两个字节,UTF-8汉字就占用3个字节。

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值