知方号

知方号

JAVA中字符流详解<字符流写入文件>

JAVA中字符流详解

字符流:就是在字节流的基础上,加上编码,形成的数据流

字符流出现的意义:因为字节流在操作字符时,可能会有中文导致的乱码,所以由字节流引申出了字符流。

字符输入流:Reader

常用子类:FileReader

文件字符输入流常用方法:

read();

read(char[ ]);

read(char[ ] ,offset,len);

字符输出流: Writer

常用子类:文件字符输出流: Filewriter

文件字符输出常用方法:

writer();

writer(char[ ]);

writer(char[ ],offset,len);

writer(string);

flush()刷新缓冲区

注意:close()方法默认调用了flush()方法,但是flush()方法只刷新缓冲区,而close()还会关闭IO流

 

字符输入流代码示例:

1 import java.io.File; 2 import java.io.FileReader; 3 import java.io.IOException; 4 5 public class Demo5 { 6 7 public static void main(String[] args) throws IOException{ 8 FileReader fr=new FileReader(new File("1.txt")); 9 char[] ca=new char[1024];10 int count=0;11 while((count=fr.read(ca))!=-1) {12 System.out.println(new String(ca,0,count));13 }14 }15 }

 运行结果:

 字符输出流代码示例:

1 import java.io.File; 2 import java.io.FileReader; 3 import java.io.FileWriter; 4 import java.io.IOException; 5 6 public class Demo6 { 7 8 public static void main(String[] args) throws IOException{ 9 FileReader fr=new FileReader(new File("1.txt"));10 FileWriter fw=new FileWriter(new File("2.txt"));11 char[] ca=new char[1024];12 int count;13 while((count=fr.read(ca))!=-1) {14 fw.write(ca,0,count);15 }16 fr.close();17 fw.close();18 }19 }

 

执行结果:

 

字符流与字节流的区别:字符流虽然以字节流为基础创建的,但是字节流可以支持声音,视频,图片,文本等所有文件类型,而字符流只支持文

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至lizi9903@foxmail.com举报,一经查实,本站将立刻删除。