java字符流

  • 字符流的主要概述:
  • 1.字符流的诞生是为了解决除了英语以外的语言在编程中出现的情况,比如汉字,汉字在UTF-8中占三个字节导致乱码无法读取,而在字符流中只占一个字符方便读取。
  • 所以与字节流相比,字符流更适合读取文本数据
  • java.io.Reader抽象类是标识用于读取字符流的所有类的父类,可以读取字符信息到内存中。它定义了字符输入流的基本功能方法
  • void write(int c)写入单个字符。
    void write(char[] cbuf)写入字符数组。
    abstract void write(char[] cbuf,int off,int len)写入字符数组的某一部分,0ff数组的开始索引len写的字符个数。

    void write(String str)写入字符串。
    void write(String str,int off,int len)写入字符串的某一部分,of字符串的开始索引len写的字符个数

    void flush()刷新该流的缓冲。
    void close()关闭此流,但要先刷新它

    字符输入流:Reader

     字符输入流简单理解为把文件内容输出到内存中执行读的操作,就是把文件的内容展示在系统工作台里面

  • 基本代码展示:
package JavaTest1213;

import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.io.Reader;

public class JavaTest01 {
    public static void main(String[] args) throws IOException {
        File f1=new File("D:/xo");
        f1.mkdirs();
        File f2=new File(f1,"a.txt");
        f2.createNewFile();
        Reader in=new FileReader(f2);
        char[] buff=new char[10];
        int n= in.read(buff);
        String s=new String(buff,0,n);
        System.out.println(s);

        int n1= in.read(buff);
        String s1=new String(buff,0,n1);
        System.out.println(s1);
    }
}

输入流就是把文件的内容输出到内存中执行的是读操作(就是把文件的内容展示在系统的工作台里面) 

结果如下:

 

 字符输出流:FileWrite

java.io.Nriter 抽象类是表示用于写出字符流的所有类的超类,将指定的字符信息写出到目的地。它定义了字节输出流的基本共性功能方法。


字符输出流简单理解为:

把内容的内存输出到文件中执行写的操作就是向文件中写入内容


基本代码展示:

package JavaTest1213;

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;

public class JavaTest02 {
    public static void main(String[] args) throws IOException {
        File f1=new File("D:/b.txt");
        if (!f1.exists()){
            f1.createNewFile();
        }
        Writer out=new FileWriter(f1);
//        out.write(97);
        out.write((int)'我');
        char[] ch={'移','动','开','发'};
        out.write(ch,0,3);
        out.write("河南南阳");
        out.flush();
        out.close();
    }
}

结果如下:

  

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值