字符流Reader和Writer

1、Rader是字符输入流的父类。

2、Writer是字符输出流的父类。

3、字符流是以字符(char)为单位读取数据的,一次处理一个unicod。

4、字符类的底层仍然是基本的字节流。

5、Reader常用方法

-int   read()  读取一个字符,返回的int值低16位有效,

- int   read(char[]  chs)    从该流中读取一个字符数组的length个字符并存入该数组,返回值为实际读取到的字符量。

6、Writer的常用方法

- void   write(int  c)写出一个字符,写出给定int值低16位表示的字符,

-void  write(char[]  chs)  将给定字符数组中所有字符写出,

-void  write(String str)将给定的字符串写出,

7、字符转换流

InputStreamReader  字符输入流,使用该留可以设置字符集,并按照指定的字符集从流中按照该编码将字节数据装换为字符并读取,

OutputStreamReader  子输出流  ,使用该流可以设置字符集,并按照指定的字符集将字符转换为对应字节后通过该流写出,

8、指定字符编码

InputStreamReader的构造方法允许我们设置字符集,  InputStreamReader(InputStream  in,String  charsetName)

基于给定的字节输入流以及字符编码创建ISR

InputStreamReader(InputStream  in) 该构造方法会根据系统默认字符集创建ISR

9、指定字符编码

OutputStreamWriter(OutputStream  out,String  charsetName)   基于给定字节输出流以及字符编码创建OSW

OutputStreamWriter(OutputStream  out)  该构造方法会根据系统默认字符集创建OSW,

时间: 2024-10-25 11:27:35

字符流Reader和Writer的相关文章

字符流Reader、Writer,字符转换流 OutputStreamWriter、InputStreamReader

Reader.Writer是所有字符流的超类. Writer类方法 void write(String str) void write(char[] cbuf, int off, int len); void flush() void close OutputStreamWriter构造方法字符编码默认为系统编码,可以不写 FileWriter的append默认为false,可以不写.另一个构造(File file, boolean append) Writer out = new FileWr

Java:IO流之字符流Reader、Writer详解

java.io包中:字符流 字符流的两个抽象基类: Reader         Writer 文件的读取:Reader抽象类(java.io包中) 直接子类的构造方法: FileReader(File file) 在给定从中读取数据的 File 的情况下创建一个新 FileReader. FileReader(FileDescriptor fd) 在给定从中读取数据的 FileDescriptor 的情况下创建一个新 FileReader. FileReader(String fileName

字符流Reader对象创建子类及方法

字符流中输入数据主要用Reader来完成,输出使用Reader 父类---Reader 子类---BufferedReader / CharArrayReader / FilterReader / InputStreamReader子类 (File Writer)   / PipedReader / String Reader Reader是抽象类,不能直接创建对象,一般都是通过子类实例化创建对象: 在读取文件时创建格式: File f=new File("e:"+File.separ

常用输入字符流Reader

Reader是用于输入字符数据的,它所根据的 方法跟InputStream基本一样.它是所有输入字符流的抽象父类,因此不能直接构建Reader的实例,必须通过它的子类来构建.以下是几个常用的子类: 1.字符数组作为输入源--CharArrayReader CharArrayReader包含一个内部缓冲区,该缓冲区包括从流中读取的字符数组.所谓内存缓存区,就是对应了内存中存在的字符数组,因此可以根据字符数组来创建该类的实例.它有以下两个构造函数: CharArrayReader(char[] bu

java:I/O 字节流和字符流

字节流 InputStream和OutputStream的子类:FileInputStream 和 FileOutputStream 方法: int read(byte[] b,int off,int len); void write(byte[] b,int off,int len); 字符流 Reader和Writer的子类:FileReader 和 FileWriter 方法: int read(char[] b,int off,int len); void write(char[] b,

Java 字节流 字符流 转换流

我们知道Java中的流分为字符流和字节流,其中字符流主要针对字符文本进行处理,而字节流处理范围更为广泛,毕竟图片.电影等只要是文件都是以二进制的形式存在的,而不是字符. 字符流: FileReader FileWriter. BufferedReader BufferedWriter 字节流: FileInputStream FileOutputStream BufferedInputStream BufferedOutputStream 我们看一下J2SE文档: BufferedReader(

J2SE快速进阶——IO流的四个基本抽象类InputStream、OutputStream、Reader、Writer

上文中对java.io包中的四个抽象类及其关系简单了解了一下,这里进一步对它们及其子类进一步总结一下. 在上篇博客末尾,贴出了Java中的整个IO家族,之后小编又重修改了一下,在之前的基础上,标识出了节点流与处理流(绿色为节点流,黄色为处理流). 这里我们分别来说一下这四个抽象类. 细心的你也许会发现,大部分输入流和输出流都是成对的,有输入就有输出,一一对应. InputStream 输入字节流InputStream的作用是标志那些从不同数据起源产生输入的类. 基本方法有: int read()

java 字节流与字符流的区别

字节流与和字符流的使用非常相似,两者除了操作代码上的不同之外,是否还有其他的不同呢? 实际上字节流在操作时本身不会用到缓冲区(内存),是文件本身直接操作的,而字符流在操作时使用了缓冲区,通过缓冲区再操作文件,如图12-6所示.下面以两个写文件的操作为主进行比较,但是在操作时字节流和字符流的操作完成之后都不关闭输出流. 范例:使用字节流不关闭执行 package org.lxh.demo12.byteiodemo; import java.io.File; import java.io.FileO

字节流与字符流的简单应用

字符流带有缓冲区而 字节流没有缓冲区 当我们要复制音频,图片时考虑字节流(InputStream/OutputStream),文本时叫考虑字符流(Reader/Writer) 这是字节流复制图片的代码 1 import java.io.File; 2 import java.io.FileInputStream; 3 import java.io.FileNotFoundException; 4 import java.io.FileOutputStream; 5 import java.io.