java处理字符流的类_java字符流处理

[java]代码库/*

* ProcesserCharacterStream.java

*

* Created on 2006年8月23日, 上午8:02

*

* 字符流处理

*

* java.io包中加入了专门用于字符流处理的类,这些类都是Reader和Writer类的子类,

* Reader和Writer是两个抽象类,只提供了一系列用于字符流处理的接口,不能生成这

* 两个类的实例。

* java.io包中用于字符流处理的最基本的类是InputStreamReader和OutputStreamWriter,

* 用来在字节流和字符流之间作为中介。

*

* 下面是InputStreamReader类和OutputStreamWriter类的常用方法:

*

* public InputStreamReader(InputStream in)

* 根据当前平台缺省的编码规范,基于字节流in生成一个输入字符流。

* public InputStreamReader(InputStream in, String sysCode)throws UnSupportedEncodingException

* 按照参数sysCode指定的编码规范,基于字节流in构造输入字符流,如果不支持参数sysCode中指定的编码规范,就会产生异常。

* public OutputStreamWriter(OutputStream out)

* 根据当前平台缺省的编码规范,基于字节流out生成一个输入字符流。

* public OutputStreamWriter(OutputStream out, String sysCode) throws UnsupportedEncodingException

* 按照参数sysCode指定的编码规范,基于字节流out构造输入字符流,如果不支持参数sysCode中指定的编码规范,就会产生异常。

* public String getEncoding()

* 获得当前字符流使用的编码方式。

* public void close() throws IOException

* 用于关闭流。

* public int read() throws IOException

* 用于读取一个字符。

* public int read(char[] cbuf, int off, int len)

* 用于读取len个字符到数组cbuf的索引off处。

* public void write(char[] cbuf, int off, int len) throws IOException

* 将字符数组cbuf中从索引off处开始的len个字符写入输出流。

* public void write(int c) throws IOException

* 将单个字符写入输入流。

* public void write(String str, int off, int len) throws IOException

* 将字符串str中从索引off位置开始的ltn个字符写入输出流。

*

* 此外,为了提高字符流处理的效率,在Java语言中,引入了BufferedReader和BufferWriter类,这两个类对字符流进行块处理。

* 两个类的常用方法如下:

* public BufferedReader(Reader in)

* 用于基于普通字符输入流in生成相应的缓冲流。

* public BufferedReader(Reader in, int bufSize)

* 用于基于普通字符输入流in生成相应的缓冲流,缓冲区大小为参数bufSize指定。

* public BufferedWriter(Writer out)

* 用于基于普通字符输入流out生成相应的缓冲流。

* public BufferedWriter(Writer out, int bufSize)

* 用于基于普通字符输入流out生在相应缓冲流,缓冲流大小为参数bufSize指定。

* public String readLine() throws IOException

* 用于从输入流中读取一行字符。

* public void newLine() throws IOException

* 用于向字符输入流中写入一行结束标记,值得注意的是,该标记不是简单的换行符"\n",而是系统定义的属性line.separator。

*/

import java.io.*;

public class ProcesserCharacterStream {

public static void main(String[] args) throws FileNotFoundException,

IOException {

String lineStr;

FileInputStream fileInStream;

InputStreamReader inputReader;

BufferedReader bufReader;

FileOutputStream fileOutStream;

OutputStreamWriter outputWriter;

BufferedWriter bufWriter;

fileInStream = new FileInputStream("d:\\mydir\\secondFile.txt");

inputReader = new InputStreamReader(fileInStream);

bufReader = new BufferedReader(inputReader);

System.out.println("------------------------------------------------");

System.out.println("There are file content before modify:");

while ((lineStr = bufReader.readLine()) != null)

System.out.println(lineStr);

bufReader.close();

inputReader.close();

fileInStream.close();

fileOutStream = new FileOutputStream("d:\\mydir\\secondFile.txt");

outputWriter = new OutputStreamWriter(fileOutStream);

bufWriter = new BufferedWriter(outputWriter);

String newStr = new String(

"Modify the file ! \r\nThis is a nice thing. \r\nWe can write anything.");

bufWriter.write(newStr, 0, newStr.length());

System.out.println(newStr);

bufWriter.close();

outputWriter.close();

fileOutStream.close();

fileInStream = new FileInputStream("d:\\mydir\\secondFile.txt");

inputReader = new InputStreamReader(fileInStream);

bufReader = new BufferedReader(inputReader);

System.out.println("------------------------------------------------");

System.out.println("There are file content after modify:");

while ((lineStr = bufReader.readLine()) != null)

System.out.println(lineStr);

bufReader.close();

inputReader.close();

fileInStream.close();

}

}

694748ed64b9390909c0d88230893790.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值