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序列值写入文本

 public class IOtestChar {
public static void main(String[] args) throws IOException {
TextFile afile = new TextFile("fibText.txt");
afile.writeToText();
afile.readFromText();
} //文本文件的读写操作,以字符串为单位:将fibonacci序列值写入文本文件
static class TextFile{
private String filename;
public TextFile(String filename){
this.filename = filename;
} public void writeToText() throws IOException{
FileWriter fout = new FileWriter(this.filename);
short i = 0, j = 1;
do{
fout.write(i + " " + j + " ");
i = (short)(i+j);
j = (short)(i+j);
}while(i > 0);
fout.close();
} public void readFromText() throws IOException{
FileReader fin = new FileReader(this.filename);
BufferedReader bin = new BufferedReader(fin);
System.out.println(this.filename + ": ");
String aline = "";
while((aline = bin.readLine()) != null){
System.out.println(aline);
}
bin.close();
fin.close();
}
}
}

javaIO--字符流的更多相关文章

  1. JavaIO学习:字符流

    JavaIO流之字符流 字符流 Reader InputStreamReader FileReader:专门用于处理文件的字符读取流对象. Writer OutputStreamWriter File ...

  2. javaIO(05)字节流和字符流的区别

    字节流和字符流的区别:   直接根据图片得出结论: 结论:   字节流在操作时本身不会用到缓存区,是在文件本身直接操作的,而字符流在操作时使用了缓存区,通过缓存区在操作文件:  所以在操作字符流的时候 ...

  3. JavaIO(04)字符流--Writer and Reader

    字符流:   常识:在java中一个字符等于两个字节:   操作字符流的两个类:Writer,Reader   API文档介绍(Writer): public abstract class Write ...

  4. javaio学习笔记-字符流类(1)

    1.java.io包中的字符流类-BufferedReader和BufferedWriter: BufferedReader:缓存的输入字符流; BufferedWriter:缓存的输出字符流; In ...

  5. javaio学习笔记-字符流类(2)

    1.java.io包中的字符流类-FileReader和FileWriter: BufferedReader:缓存的输入字符流; BufferedWriter:缓存的输出字符流; FileReader ...

  6. java-IO流-字符流-FileReader、FileWriter、自定义小数组的拷贝、BufferedReader、BufferedWriter、readLine()和newLine()方法、LineNumberReader、使用指定的码表读写字符

    ###21.01_IO流(字符流FileReader) * 1.字符流是什么     * 字符流是可以直接读写字符的IO流     * 字符流读取字符, 就要先读取到字节数据, 然后转为字符. 如果要 ...

  7. javaIO流(二)--字节流与字符流

    一.流的基本概念 在java.io包中,File类是唯一一个与文件本身有关的程序处理类,但是File类只能操作文件本身,而不能操作文件内容,IO操作的核心意义在于输入和输出操作.而对于程序而言,输入和 ...

  8. 吴裕雄--天生自然JAVAIO操作学习笔记:字节流与字符流操作

    import java.io.* ; public class Copy{ public static void main(String args[]){ if(args.length!=2){ // ...

  9. JavaIO——转换流、字符编码

    1.转换流 转换流是将字节流变成字符流的流. OutputStreamWriter:将字节输出流转换成字符输出流. public class OutputStreamWriter extends Wr ...

  10. java IO流 之 字符流

    字符是我们能读懂的一些文字和符号,但在计算机中存储的却是我们看不懂的byte 字节,那这就存在关于字符编码解码的问题.所以在学习Io流的字符流前我们先了解些关于编码问题. 一.字符集与字符编码 1.什 ...

随机推荐

  1. Vue清除所有JS定时器

    Vue清除所有JS定时器 在webpack + vue 的项目中如何在页面跳转的时候清除所有的定时器 JS定时器会有一个返回值(数字),通过这个返回值我们可以找到这个定时器 在vue项目中可以使用路由 ...

  2. 纯js轮播图练习-2,js+css旋转木马层叠轮播

    基于css3的新属性,加上js的操作,让现在js轮播图花样越来越多. 而现在出现的旋转木马层叠轮播的轮播图样式,却是得到了很多人都喜爱和投入使用. 尤其是在各大软件中,频繁的出现在大家的眼里,在web ...

  3. QueryableHelper

    using System; using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; us ...

  4. api帮助文档的制作

    在java开发中,往往需要用到别人写的类或是自己写的类被别人拿去用. 而使用类的过程中,类中的方法对使用者而言并不完全透明,这个时候帮助文档可以让我们清楚的了解这个类中的方法该如何调用. 下面简述一下 ...

  5. ES6 imports用法

    import defaultExport from "module-name"; import * as name from "module-name"; // ...

  6. stm32串口发送数据复位 第一个数据丢失

    http://blog.csdn.net/kevinhg/article/details/40991655 STM32串口发送必须先检测状态,否则第一个字节无法发出,发送完毕,必须检测发送状态是否完成 ...

  7. Ruby中的类

    初识ruby中的类 只需要简单的两行 class Point end 如果我们此时实例化一个类那么他会有一些自省(introspection)的方法 p = Point.new p.methodes( ...

  8. elasticsearch按范围聚合

    范围聚合适用于对数据按照指定范围进行分类聚合的应用场景,from和to表示范围起始值的半开半闭区间(包含from值不包含to值),key表示别名 如 {:key=>"2h", ...

  9. Java学习笔记十九:Java中的访问控制修饰符

    Java中的访问控制修饰符 一:Java修饰符的种类: 访问修饰符 非访问修饰符 修饰符用来定义类.方法或者变量,通常放在语句的最前端.我们通过下面的例子来说明: public class Hello ...

  10. tomcat8.5配置高并发

    最近部署的tomcat应用,有一天压测的时候,测试一致反馈下载不了,结果查看日志才发现如下错误: INFO: Maximum number of threads (200) created for c ...