Java Io 字符流包含:

1. InputStreamReader  它是由byte流解析为char流,并且按照给定的编码解析。

2. OutputStreamWrite  它是char流到byte流的转换,并且按照给定的编码处理。

事例代码如下:

package com.dcz.io;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter; public class ReaderWriterDemo { public static void main(String[] args) throws Exception { InputStream fileInputStream = new FileInputStream("D:\\reader.txt");
// 编码为文本文件的自身的编码格式,否则乱码
InputStreamReader isr = new InputStreamReader(fileInputStream, "gbk"); File writeFile = new File("D:\\writer.txt");
if(!writeFile.exists()){
writeFile.createNewFile();
}
OutputStream fileOutputStream = new FileOutputStream(writeFile);
OutputStreamWriter osw = new OutputStreamWriter(fileOutputStream, "gbk"); /* int c;
while((c = isr.read()) != -1){
System.out.print((char)c);
}*/ char[] charer = new char[2 * 1024];
int c;
while((c = isr.read(charer, 0, charer.length)) != -1){
osw.write(charer, 0, charer.length);
fileOutputStream.flush();
}
osw.close();
isr.close();
} }

3. FileReader

4. FileWriter

这两个流读取文本文件会更方便

	public static void main(String[] args) throws IOException {

		FileReader fr = new FileReader("D:\\reader.txt");

		File writeFile = new File("D:\\writer.txt");
if(!writeFile.exists()){
writeFile.createNewFile();
}
FileWriter fw = new FileWriter(writeFile);
int c;
char[] charer = new char[2 * 1024];
while((c = fr.read(charer, 0, charer.length)) != -1){
fw.write(charer, 0, charer.length);
fw.flush();
}
fw.close();
fr.close();
}

5. BufferedReader

6. BufferedWriter

缓冲输入/输出流,该流可以一行一行读取,一行一样写入

package com.dcz.io;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.Reader;
import java.io.Writer; public class BufferReaderWriterDemo { public static void main(String[] args) throws Exception { // 读取文件,可以一次读取一行文件
File readerFile = new File("D:\\reader.txt");
InputStream fis = new FileInputStream(readerFile);
Reader reader = new InputStreamReader(fis);
BufferedReader br = new BufferedReader(reader); // 写入文件,可以一次写入一行文件
File writerFile = new File("D:\\writer.txt");
if(!writerFile.exists()){
writerFile.createNewFile();
}
OutputStream fos = new FileOutputStream(writerFile);
Writer writer = new OutputStreamWriter(fos);
BufferedWriter bw = new BufferedWriter(writer); String str = "";
while((str = br.readLine()) != null){
bw.write(str);
bw.newLine();
bw.flush();
}
bw.close();
br.close(); } }

Java Io 字符流的更多相关文章

  1. Java IO: 字符流的Buffered和Filter

    作者: Jakob Jenkov  译者: 李璟(jlee381344197@gmail.com) 本章节将简要介绍缓冲与过滤相关的reader和writer,主要涉及BufferedReader.B ...

  2. Java IO: 字符流的Piped和CharArray

    作者: Jakob Jenkov 译者: 李璟(jlee381344197@gmail.com) 本章节将简要介绍管道与字符数组相关的reader和writer,主要涉及PipedReader.Pip ...

  3. java IO字符流

    字节流:因为内存中数据都是字节,二进制数据. 字符流:方便处理文本数据.字符流是基于字节流的. ascii 编码表,并且各国都有自己的编码表. unicode码表,世界码表.优化后 utf-8码表. ...

  4. java -io字符流FileWrite操作演示

    FileWriter字符输出流演示: /* * FiileWriter 字符流的操作 * FileWriter 的构造方法 可传递 File类型 还可以传递String类型 * * 方法 : * wr ...

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

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

  6. Java IO 嵌套流、文本的输入输出和存储

    Java IO 嵌套流.文本的输入输出和存储 @author ixenos 1.   组合流过滤器(嵌套流) a)    跨平台文件分割符:常量字符串 java.io.File.seperator 等 ...

  7. Java IO 节点流 ByteArrayInput/OutputStream

    Java IO 节点流 ByteArrayInput/OutputStream @author ixenos ByteArrayInputStream 包含一个内部缓冲区(字节数组byte[]),该缓 ...

  8. 理解Java中字符流与字节流

    1. 什么是流 Java中的流是对字节序列的抽象,我们可以想象有一个水管,只不过现在流动在水管中的不再是水,而是字节序列.和水流一样,Java中的流也具有一个"流动的方向",通常可 ...

  9. 理解Java中字符流与字节流的区别(转)

    1. 什么是流 Java中的流是对字节序列的抽象,我们可以想象有一个水管,只不过现在流动在水管中的不再是水,而是字节序列.和水流一样,Java中的流也具有一个“流动的方向”,通常可以从中读入一个字节序 ...

随机推荐

  1. XML学习笔记

    XML学习笔记 第一部分:XML简介 我们经常可以听到XML.HTML.XHTML这些语言,后两者比较清楚,一直不是很明白XML是什么,这里做一个总结. XML(eXtensible Markup L ...

  2. Saltstack之Syndic(十)

    Saltstack之Syndic 使用条件: 1.salt syndic必须运行在一台master上 2.salt syndic必须依赖更高级的master 安装 yum install -y sal ...

  3. IOS 中的CoreImage框架(framework)

    http://www.cnblogs.com/try2do-neo/p/3601546.html coreimage framework 组成 apple 已经帮我们把image的处理分类好,来看看它 ...

  4. curl方式创建elasticsearch的mapping

    curl方式创建elasticsearch的mapping curl -XPUT 'http://192.168.1.105:9200/bank/item2/_mapping' -d '{ " ...

  5. win7安装virtualbox

    1.下载软件 VirtualBox-4.3.24-98716-Win.1425444683.exe 2.修改安装路径 3.确定选择下一步 4.下一步 5.yes 6.安装 7.安装完成 到此win7 ...

  6. 爬虫2 url管理器 url_manager.py

    #coding:utf8 class UrlManager(object): def __init__(self): self.new_urls = set() self.old_urls = set ...

  7. Linux负载均衡软件LVS简介

    Linux负载均衡软件LVS LVS集群的体系结构以及特点 1. LVS简介        LVS是Linux Virtual Server的简称,也就是Linux虚拟服务器, 是一个由章文嵩博士发起 ...

  8. C语言中的参数传递

    有空看看: c语言 函数传输传递的三种方式(值.指针.引用) C语言之参数传递 C语言形参和实参,传值调用和引用调用的区别

  9. 抓取网站数据不再是难事了,Fizzler(So Easy)全能搞定

    首先从标题说起,为啥说抓取网站数据不再难(其实抓取网站数据有一定难度),SO EASY!!!使用Fizzler全搞定,我相信大多数人或公司应该都有抓取别人网站数据的经历,比如说我们博客园每次发表完文章 ...

  10. 关于标准C语言的预定义宏【转】

    标准C语言预处理要求定义某些对象宏,每个预定义宏的名称一两个下划线字符开头和结尾,这些预定义宏不能被取消定义(#undef)或由编程人员重新定义.下面预定义宏表,被我抄了下来. __LINE__  当 ...