首页 > 编程语言 > 详细

java基础--字符流

时间:2020-10-30 10:12:17      阅读:23      评论:0      收藏:0      [点我收藏+]

字符流:解决字节流读取中文字符乱码,显示不完整问题

  字符输入流Reader:

public static void main(String[] args) throws IOException {
        FileReader fir=new FileReader("E:\\JavaBase\\FirstPro\\src\\a.txt");
        int len=0;
//        //一次读取一个字符
//        while((len=fir.read())!=-1){
//            System.out.print(len);
//        }
        //一次读取多个字符,使用char[]数组
        char[] chars=new char[1024];
        while ((len=fir.read(chars))!=-1){
            /*
            String类的构造方法
            String (char[] value) 将字符数组转换为字符串
            String(char[] ,int offset,int count)  将数组的一部分转换为字符串(有效数组的转化)
             */
            System.out.println(new String(chars,0,len));
        }
        fir.close();
    }

  

  字符输出流Writer:

技术分享图片

package com.zhs.io;

import java.io.FileWriter;
import java.io.IOException;

public class DemoWriter1 {
    public static void main(String[] args) throws IOException {
        FileWriter fw=new FileWriter("E:\\JavaBase\\FirstPro\\src\\a.txt");
        fw.write("L");//写入到缓存区中,并将字符变为字节的过程
        fw.flush();//使用frush()方法,将缓存的数据刷新到文件中
        fw.close();//关闭资源,
    }
}

FileWriter中的frush()方法和close()都可以将缓存的数据刷新到文件中,有何区别?

-frush():  刷新缓存区,流对象可以继续使用,写入字符数据

-close(): 先刷新缓存区,然后通知系统释放资源,流对象不能继续使用了。

 

 

写入的方法

package com.zhs.io;

import java.io.FileWriter;
import java.io.IOException;

public class DemoWriter1 {
    public static void main(String[] args) throws IOException {
        FileWriter fw=new FileWriter("E:\\JavaBase\\FirstPro\\src\\a.txt");
        //写入字符数组
        char[] chars={a,b,c,d};
        fw.write(chars);//写入到缓存区中,并将字符变为字节的过程
        //字符数组的一部分
        fw.write(chars,1,3);
        //写入字符串的一部分
        fw.write("今天天气很好!",1,4);//天天气很
        fw.flush();//使用frush()方法,将缓存的数据刷新到文件中
        fw.close();//关闭资源,
    }
}

续写与换行:

技术分享图片

 

 

 

java基础--字符流

原文:https://www.cnblogs.com/zhsv/p/13900498.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!