IO学习(七)用字符流进行纯文本的读取和写出

来源:互联网 发布:淘宝双十一价格规则 编辑:程序博客网 时间:2024/05/20 05:08

纯文本的读取,步骤:

1.建立联系 file对象

2.选择流: Reader FileReader

3.读取:char[] flush=new char[1024];

4.关闭资源


思路和读取文件基本是一致的,下面比较一下:


字节流读取文件VS字符流读取纯文本

1.使用流不同,前者使用“stream”,后者是“reader”

2.读取使用数组不同,前者是byte数组,后者是char数组

3.速度不同,后者速度要比前者快


代码:

public class Demo05 {public static void main(String[] args) {/** * 纯文本读取 *///1.建立联系File src=new File("F:/Picture/test/test.txt");//2.选择流Reader reader=null;try {reader=new FileReader(src);//3.char数组读取char[] flush=new char[1024];int len=0;while(-1!=(len=reader.read(flush))){String str=new String(flush,0,len);System.out.println(str);}} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally{//4.关闭资源if(reader!=null){try {reader.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}}}







纯文本的写出,步骤:

1.建立联系 file对象

2.选择流:writer FileWriter

3.读取while(字符数组,0,长度)+flush

4.关闭资源


之前文件写出的时候,需要把String字符串转化成byte数组,才可以使用writer方法写出,

但是Writer提供了不同的writer方法,可以直接写出字符串,如下



public class Demo05 {public static void main(String[] args) {/** * 纯文本写出 *///1.获取File对象File dest=new File("F:/Picture/test/test2.txt");//2.选择流Writer writer=null;try {//true代码追加文件,false代码覆盖,默认false覆盖writer=new FileWriter(dest,true);String str="我们都是好孩子!";//3.写出,强制刷出writer.write(str);//可追加writer.append("hahaahaha");writer.flush();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally{if(writer!=null){try {writer.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}}}




0 0
原创粉丝点击