zoukankan      html  css  js  c++  java
  • javaIO--字符流

    java提供字符流对自否刘式文件进行数据读写操作。字符输入流类是Reader及其子类,输出流是Writer及其子类。

    另外,上一篇javaIO写的是字节流,字节流方式也可以对以字符为基本类型的流式文件读写。

    1 采用文件字节流,将字节缓冲区数组中的字节转换成字符

    2 采用数据字节流,readChar()方法读取一个字符,writerChar(int c)方法写入一个字符,writerChars(String s)方法写入一个字符串。

    ps:DataInputStream类中的读取一行字符串的readLine()方法已过时,被BufferReader类中的readLine()取代。

    Reader类的子类:InputStreamReader(字节输入流转换成字符输入流   <--Filereader(文件字符输入流))、FilerReader(过滤器字符输入流)、PipedReader(管道字符输入流)、BufferReader(缓冲字符输入流)。

    Writer类的子类:OutputStreamReader(字节输入流转换成字符输入流   <--FileWriter(文件字符输入流))、FilerWriter(过滤器字符输入流)、PipedWriter(管道字符输入流)、BufferWriter(缓冲字符输入流)、PrintWriter(格式化字符输出流)。

    下面是一个对文件进行字符型IO的实例,将Fibonacci序列值写入文本

     1 public class IOtestChar {
     2     public static void main(String[] args) throws IOException {
     3         TextFile afile = new TextFile("fibText.txt");
     4         afile.writeToText();
     5         afile.readFromText();
     6     }
     7     
     8     //文本文件的读写操作,以字符串为单位:将fibonacci序列值写入文本文件
     9     static class TextFile{
    10         private String filename;
    11         public TextFile(String filename){
    12             this.filename = filename;
    13         }
    14         
    15         public void writeToText() throws IOException{
    16             FileWriter fout = new FileWriter(this.filename);
    17             short i = 0, j = 1;
    18             do{
    19                 fout.write(i + " " + j + " ");
    20                 i = (short)(i+j);
    21                 j = (short)(i+j);
    22             }while(i > 0);
    23             fout.close();
    24         }
    25         
    26         public void readFromText() throws IOException{
    27             FileReader fin = new FileReader(this.filename);
    28             BufferedReader bin = new BufferedReader(fin);
    29             System.out.println(this.filename + ": ");
    30             String aline = "";
    31             while((aline = bin.readLine()) != null){
    32                 System.out.println(aline);
    33             }
    34             bin.close();
    35             fin.close();
    36         }
    37     }
    38 }
  • 相关阅读:
    字符的编码
    数据的基本类型和内置方法(二)
    基本的数据类型和内置方法介绍 (一)
    流程运算 if while for
    用户交换 基本数据类型 基本运算符 格式化输出
    机器语言发展简介和变量的介绍
    计算机基础
    Python学习建议和要求总结
    CH135 最大子序和 题解报告
    HRBUST1356 Leyni,罗莉和队列 题解报告
  • 原文地址:https://www.cnblogs.com/K-artorias/p/7367373.html
Copyright © 2011-2022 走看看