zoukankan      html  css  js  c++  java
  • IO流之字符流

    字符输入流Reader

    同使用其子类FileReader

    构造方法也与字节流相同

     单个字符读

    1         //明确数据源
    2         FileReader fr = new FileReader("D:\io0429\demo01.txt");
    3         //单个字符读
    4         int len = 0;
    5         while((len = fr.read()) != -1){
    6             System.out.println((char)len);
    7         }
    8         //释放资源
    9         fr.close();

    单个字符数组读

    1         //明确数据源
    2         FileReader fr = new FileReader("D:\io0429\demo01.txt");
    3         //按字符数组读
    4         char[] ch = new char[1024];
    5         int len = 0;
    6         while((len = fr.read(ch)) != -1){
    7             System.out.println(new String(ch,0,len));
    8         }
    9         fr.close();

     

    字符输出流Writer

    使用其子类FileWriter

    构造方法也相同

    单个字符/单个字符数组输出

     1         //明确目的地
     2         FileWriter fw = new FileWriter("D:\io0429\demo02.txt");
     3         //写入一个字符
     4         fw.write(100);
     5         fw.flush();
     6         //写入一个字符数组
     7         char[] ch = {'你','a','0','好'};
     8         fw.write(ch);
     9         fw.flush();
    10         fw.write(ch,1,2);
    11         fw.flush();
    12         fw.write("海绵宝宝");
    13         fw.flush();
    14         fw.write("派大星",0,1);
    15         //释放资源
    16         fw.close();

    字符复制文件练习

     1         //单个字符复制
     2         //明确数据源
     3         FileReader fr = new FileReader("D:\io0429\demo02.txt");
     4         //明确目的地
     5         FileWriter fw = new FileWriter("D:\io0429\hello\demo03.txt");
     6         int len = 0;
     7         while((len = fr.read()) != -1){
     8             fw.write(len);
     9             fw.flush();
    10         }
    11         //释放资源
    12         fw.close();
    13         fr.close();
     1         //单个字符数组复制
     2         //明确数据源
     3         FileReader fr = new FileReader("D:\io0429\demo02.txt");
     4         //明确目的地
     5         FileWriter fw = new FileWriter("D:\io0429\copy.txt");
     6         char[] ch = new char[1024];
     7         int len = 0;
     8         while((len = fr.read(ch)) != -1){
     9             fw.write(ch,0,len);
    10             fw.flush();
    11         }
    12         //释放资源
    13         fw.close();
    14         fr.close();

    总结下来,字符与字节的使用方法基本相同,那他的区别在什么地方?

    区别就在于,当你传输图片或视频的类似文件时,因其内部是有字节编码组成,所以只有使用字节操作才能使用。而字符操作文本文档类似文件,效率会更高。

  • 相关阅读:
    sql 变量赋值
    mysql 行号 获取指定行数据
    SQL Server获取指定行的数据
    sql server 创建内联表值函数
    sql server 表变量存储临时查询数据
    sql server 循环操作
    oracle for in 学习
    oracle C# 访问
    sql server insert values 多值 与oracle 的不同
    mysql 如何选择随机行
  • 原文地址:https://www.cnblogs.com/shenhx666/p/15060629.html
Copyright © 2011-2022 走看看