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 }
  • 相关阅读:
    links
    Thread Demo
    AngularJs 入门
    同步的数据过大,导致shareplex超时,并自动kill掉了同步会话
    shareplex三点同步配置
    (转)嵌入式学习准备---linux c 文件锁
    shareplex的安装&&起停服务(添加新用户)
    JDK的安装
    LVM的添加与删除
    linux__升级java版本
  • 原文地址:https://www.cnblogs.com/K-artorias/p/7367373.html
Copyright © 2011-2022 走看看