io字节、字符流

字符流是什么

字符流是可以直接读取字符的io流

字符流读取字符,就要先读去到字节数据,然后转为字符,如果要写出字符,需要把字符转为字节再写出。

字符流的两个抽象父类:字符输出流:Writer 和字符输入流:Reader

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

1.关闭此输入流并释放与此流相关的任何系统资源。

public void close();

2.从输入流读取数据的下一个字节

public abstract int read();

3.从输入流中读取一些字节数,并将他们存储到字节数组b中

public int read(byte[]b);

FileWriter类

java.io.FileWriter类是写出字符到文件的便利类。构造时使用系统默认的字符编码和默认字节缓冲区。

作用:把内存中的字符数据写入到文件中

FileInputStream类

案例:

public static void main(String[] args) throws IOException {
        //输入流:内存的内容输出到文件(写操作)   输出流:文件内容输入到内存中(读操作)
        File f1=new File("C:/aa");
        f1.mkdirs();
        File f2=new File(f1,"a.txt");
        f2.createNewFile();
        InputStream input= new FileInputStream(f2);
        //读取文件的一个字符,然后把字符转换为对于的数字返回,如果读取到文件尾部,返回-1
        int n;
        while((n=input.read())!=-1){
            System.out.println((char)n);
        }
    }

使用read(byte [] b)   缓冲区循环读取内容

public static void main(String[] args) throws IOException {
        //输入流:内存的内容输出到文件(写操作)   输出流:文件内容输入到内存中(读操作)
        File f1=new File("C:/aa");
        f1.mkdirs();
        File f2=new File(f1,"a.txt");
        f2.createNewFile();
        InputStream input= new FileInputStream(f2);
        //读取文件的一个字符,然后把字符转换为对于的数字返回,如果读取到文件尾部,返回-1
        int n;
        byte[] b=new byte[10];
        
        //使用read(byte [] b) 缓冲区循环读取内容
        while((n=input.read(b))!=-1){
            String s=new String(b,0,n);//从0开始,截取有效的字节n
            System.out.println(s);
 
            }
    }

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值