字符流:
 
常识:在java中一个字符等于两个字节;
 
操作字符流的两个类:Writer,Reader
 
API文档介绍(Writer):
public abstract class Writer extends Object implements Appendable, Closeable, Flushable
 
发现此类依然是抽象类,如果使用子类还是需要使用该子类,FileWriter;
 
Writer类的常用方法:
 
关闭该流,但要先刷新它;
public abstract void close() throws IOException
刷新该流缓冲;
public abstract void flush() throws IOException
写入字符数组
public void write(char[] cbuf) throws IOException
写入字符数组的一部分
public abstract void write(char[] cbuf,int off,int len)throws IOException
写入字符串
public void write(String str) throws IOException
写入字符串的一部分
public void write(String str,int off,int len)throws IOException
 
FileWriter常用构造方法:
 

根据给定的 File 对象构造一个 FileWriter 对象

public FileWriter(File file)throws IOException

根据给定的文件名构造一个 FileWriter 对象

public FileWriter(String fileName)throws IOException
 
实例01:

package cn.itcast04;

import java.io.FileWriter;
import java.io.IOException; public class FileWriterDemo01 {
public static void main(String[] args) throws IOException { //创建IO对象
FileWriter fw = new FileWriter("d.txt" ); String s = "I love JAVA";
//写入字符串
fw.write( "Hello World"); //写入字符串的一部分
fw.write(s, 1,5); //写入字符数组
char[] chars = new char[]{ 'a', 'c', 'b', 'e'};
fw.write(chars); //写入字符数组的一部分
fw.write(chars,0,3); fw.close();
}
}

  

字符输入流(Reader)
 
API文档介绍(Reader):
public abstract class Reader extends Object implements Readable, Closeable
 
FileReader类常用方法:
 
构造方法:
 
根据给定的 File 对象构造一个 FileWriter 对象
public FileReader(File file)throws IOException
根据给定的文件名构造一个 FileWriter 对象
public FileReader(String fileName)throws IOException
 
常用方法:
 
读取单个字符:
public int read()throws IOException
将字符读入数组
public int read(char[] cbuf)throws IOException
读取数组中的一部分
public abstract int read(char[] cbuf,int off,int len)throws IOException
实例02:
package cn.itcast04; import java.io.File;
import java.io.FileReader;
import java.io.IOException; public class FileReaderDemo01 {
public static void main(String[] args) throws IOException {
File file= new File("d.txt" );
FileReader fr = new FileReader(file); //读取单个字符
int c;
while((c=fr.read())!=-1)
{
System. out.println((char)c);
}
fr.close();
System. out.println("================================" );
File file2= new File("d.txt" );
FileReader fr2 = new FileReader(file2);
//读入一个数组
char[] chars = new char[( int)file2.length()];
int len;
while((len=fr2.read(chars))!=-1)
{
String s = new String(chars,0,len);
System. out.println(s);
}
fr2.close(); }
}

  

JavaIO(04)字符流--Writer and Reader的更多相关文章

  1. Java IO(十二) 字符流 Writer 和 Reader

    Java IO(十二) 字符流 Reader和 Writer 一.介绍 涉及到文件(如果是纯文本文件形式)操作时,Java除了提供 FIle(文件和目录路径名的抽象表示形式) 和 FileDescri ...

  2. [Java] 字符流 Writer,输出字符数据PrintWriter

    package test.stream; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.Fi ...

  3. javaIO流--Writer,Reader

    Writer /** *<li> Writer中定义的一个重要的方法: * public void writer(String str)throws IOException; */ pac ...

  4. [19/03/31-星期日] IO技术_四大抽象类_字符流( 字符输入流 Reader、 字符输出流 Writer )(含字符缓冲类)

     一.概念 Reader Reader用于读取的字符流抽象类,数据单位为字符. int read(): 读取一个字符的数据,并将字符的值作为int类型返回(0-65535之间的一个值,即Unicode ...

  5. Java基础知识强化之IO流笔记34:OutputStreamWriter(Writer字符流的子类)5种write数据方式

    1. OutputStreamWriter (转换流) OutputStreamWriter 是字符流通向字节流的桥梁:可使用指定的 charset 将要写入流中的字符编码成字节. 同时OutputS ...

  6. IO(二)----字符流

    计算机并不区分二进制文件与文本文件.所有的文件都是以二进制形式来存储的,因此,从本质上说,所有的文件都是二进制文件.所以字符流是建立在字节流之上的,它能够提供字符层次的编码和解码. 常见的码表 ASC ...

  7. Java IO5:字符流

    字符流 字节流提供了处理任何类型输入/输出操作的功能(因为对于计算机而言,一切都是0和1,只需把数据以字节形式表示就够了),但它们不可以直接操作Unicode字符,因为上一篇文章写了,一个Unicod ...

  8. Java IO3:字符流

    字符流 字节流提供了处理任何类型输入/输出操作的功能(对于计算机而言,一切都是0 和1,只需把数据以字节形式表示就够了),但它们不可以直接操作Unicode字符,一个Unicode字符占用2个字节,而 ...

  9. Java IO 转换流 字节转字符流

    Java IO 转换流 字节转字符流 @author ixenos 字节流 输入字节流:---------| InputStream 所有输入字节流的基类. 抽象类.------------| Fil ...

随机推荐

  1. Windows 7下配置JDK环境变量

    安装jdk1.8版本(下载链接:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html) ...

  2. HDU 4549 M斐波那契数列(矩阵幂)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4549 题意:F[0]=a,F[1]=b,F[n]=F[n-1]*F[n-2]. 思路:手算一下可以发现 ...

  3. 查看tablespace实际使用量和剩余空间

    到某表空间所有段的加和值,即按表空间分组统计dba_data_files.bytes-dba_free_space.bytes=dba_segments.bytesdba_segments中可查询已分 ...

  4. <四>面向对象分析之UML核心元素之用例

    一:基本概念        --->用例定义了一组用例实例,其中每个实例都是系统所执行一系列操作,这些操作生成特定主角可以观测的值.        --->所谓用例,就是一件事情,要完成这 ...

  5. 【转】IOS 计时器 NSTimer

    原文网址:http://blog.csdn.net/tangshoulin/article/details/7644124 1.初始化 + (NSTimer *)timerWithTimeInterv ...

  6. Android设计模式之命令模式、策略模式、模板方法模式

    命令模式是其它很多行为型模式的基础模式.策略模式是命令模式的一个特例,而策略模式又和模板方法模式都是算法替换的实现,只不过替换的方式不同.下面来谈谈这三个模式. 命令模式 将一个请求封装为一个对象,从 ...

  7. Ruby网络服务

    #require 'net/http' #p Net::HTTP.get_response(URI.parse('http://www.kuaiyoujia.com')){|res| # puts r ...

  8. K2 blackpearl 流程开发(一)

    转:http://blog.csdn.net/gxiangzi/article/details/8444060 郁闷,今天K2的license过期了,很多东西都没法用了,还得去找PM大大帮忙申请一个. ...

  9. POJ 1094 Sorting It All Out

    题意:给出m对关于n个字母的小于关系,输出通过这些关系能得到的结论,如果可以排序就输出至少知道第几个关系时就可以知道顺序,从小到大输出顺序:如果产生歧义就输出在第几个关系时出现歧义,如果不能得出准确的 ...

  10. POJ 1312 Numerically Speaking

    题意:a = 1, b = 2, ..., z = 26, aa = 27, ... 给字符串或者数字,输出对应的答案. 解法:类似26进制……但又不完全是……拿java大数模拟了一下…… 代码: i ...