Java IO Part 4:基本字符流

J2SE知识点归纳笔记(七)—Java IO Part 4:基本字符流

——转载请注明出处:coder-pig

本节引言:

上一节中,我们对于Java IO流中的一些基本字节流进行了学习,他们都是InputStream与

OutputStream的子类;本节学习的字符流则是Reader与Writer的子类,好了,话不多说,

开始本节内容!

本节正文:

1.Reader类与Writer类的相关方法:

PS:~小猪比较懒,所以就不一个个敲方法与解析了,直接截API的图吧,大家可自行翻阅API文档:

①Reader类的相关方法:

②Writer类的相关方法:

一些要搞清楚的东西:

1)二进制文件与文本文件的区别:

答:如果一个文件专用于存储文本字符,而又没有包含文本之外的字符,

就可称之为文本文件。除此之外的文件就是二进制文件!

2)InputStream,OutputStream和Reader,Writer的区别:

答:前者是处理字节流,后者是处理字符流;

前者主要用于操作二进制数据的内容,后者则用于操作文本数据的内容;

前者直接操作byte数组,后者在操作时还会进行Decode和Encode~

2.FileReader与FileWriter类的使用:

构造方法:

代码示例:

这里演示的代码是:读取文件里的内容,以及完成简单的文件复制

接下来就来写代码了,大家自己写的时候记得进行异常捕获哦~

①往文件写入数据,读取数据显示:FileWriter fileWriter = new FileWriter("D:/one.txt");fileWriter.write("我是萌萌的Coder-pig~");fileWriter.close();//读取文件中的内容:FileReader fileReader = new FileReader("D:/one.txt");//用户缓冲的字符数组char[] cbuf = new char[1024];int len = fileReader.read(cbuf);System.out.println(new String(cbuf,0,len));fileReader.close();fileWriter.close();运行截图:

②文件复制的实现:

这里有两种,随你选

方法1:

FileReader fileReader = new FileReader("D:/one.txt");FileWriter fileWriter = new FileWriter("E:/one.txt");//复制文件的最简单写法char [] cbuf=new char[1024]; //字符数组int len=fileReader.read(cbuf);fileWriter.write(cbuf);fileReader.close();fileWriter.close();

方法2:

FileReader fileReader = new FileReader("D:/one.txt");FileWriter fileWriter = new FileWriter("E:/one.txt");char []buf = new char[1024];int len = 0;//读一个数组大小,写一个数组大小方法。while((len = fileReader.read(buf)) != -1){fileWriter.write(buf, 0, len);}fileReader.close();fileWriter.close();③要注意的地方:

使用FileWriter的时候要注意:

FileReader与FileWriter读写文件采取的是平台默认编码(视操作系统而定),比如中文的win为gbk,

英文的win为iso,当要写入的文本文件编码和平台默认编码不一致时,就会出现中文乱码的情况。

这时可用OutputStreamWriter来读取。这个下面会讲,莫急~

3.CharArrayReader与CharArrayWriter类:

前面我们学过了CharArrayInputStream与CharArrayOutputStream类,其实是类似的,只不过这个

是字符,前面两个是字节的而已,同样他有个toCharArray( )的方法!其实也没什么好讲的,用的并不多,

而且还要借助其他流..

带上心灵去旅行,以平和的心态看待一切,

Java IO Part 4:基本字符流

相关文章:

你感兴趣的文章:

标签云: