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. BZOJ4620: [Wf2016]What Really Happened on Mars?

    题意比较难懂?反正我为此特地查了优先级倒置和优先级置顶协议是什么. 读懂题以后就好办了,直接模拟即可. 由于数据范围较小,写得比较暴力,应该还有很大优化空间. #include<cstdio&g ...

  2. 使用Keil uVision下载hex文件

    在uVision3/uVision4/uVision5中,可以创建一个项目用来下载HEX文件到flash里面. 具体步骤如下: 1.  在菜单中,选择 Project - New Project... ...

  3. 网摘 窗体的旋转效果 wpf

    <Window x:Class="simplewpf.chuantixx" Name="DW1"         xmlns="http://s ...

  4. SQL 操作语句

    SQL Server T-SQL高级查询 高级查询在数据库中用得是最频繁的,也是应用最广泛的. Ø 基本常用查询 --select select * from student; --all 查询所有 ...

  5. mysql select 格式化输出

    select * from test\G; MySQL的客户端命令行工具,有很多方便使用者的特性,某些方面甚至可以说比Oracle的sqlplus更加人性化.当然从整体来说,还是sqlplus更加方便 ...

  6. wamp环境PHP安装mongodb扩展

    特别注意 :本地的下载的mongo 为线性TS *86 而不是64   按照apache的版本来定.

  7. redis主从复制操作

    1. 33.10服务器上 启动三个redis bin/redis-server etc/redis.conf bin/redis-server etc/6380conf bin/redis-serve ...

  8. extjs 兼容性问题解决方案

    首先明确一点,extjs是没有所谓的兼容性的问题的.那为什么总是出现不同浏览器兼容性的问题呢?而且很多人把这作为了extjs一个缺点. 解决方法,看看写的代码是不是多了  英文逗号 , 或 中文的逗号 ...

  9. Java数据结构——链表-单链表

    <1>链表 <2>引用和基本类型 <3>单链表 //================================================= // Fil ...

  10. ecshop show_message

    格式lib_main.php show_message(内容, array(返回列表,继续编辑), array(连接地址一,链接地址二, 'info',false); true:自动跳转 输出: fu ...