文件字符输入和输出流

前面我们听到了文件字节流FileOutputStream和FileInputputStream主要式针对字节的输入和输出流的操作,

但是在我们变成里面字符使用的比较多,因此Java提供了字符输入和输出流的操作.分别是FileReader和FileWriter

这两个构造方法,下面我们通过具体的代码来说下.

package Test;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class Demo {
   public static void main(String[] args) {
	  File f=new File("word.txt");
	  //创建字符输出流
	  FileWriter fw=null;
	  try {
		fw= new FileWriter(f,false);//true表示在源文件后追加的效果.
		String str="天行健,自强不息,地势坤,厚德载物,这里式结尾,没有了";
		fw.write(str);//将字符串写入到文本文档里面
	} catch (IOException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}finally {
		if (fw!=null) {
		try {
			fw.close();
		} catch (IOException e) {
			// TODO Auto-generated catch block
				e.printStackTrace();
		}
	}
	}
	  
   //创建字符输出流.将文件的信息读取到我们的想要输出的位置.
	  FileReader rw=null;
	    try {
			rw=new FileReader(f);
			char arr2[]=new char[1024];//创建缓冲区.
			int count;//表示已读出的数据.
			try {
				while((count=rw.read(arr2))!=-1) {
					//循环读取文件里面的数据,直到文件的最后一行,当返回为-1的时候表示文件已经读取完成.所有字符已经读完.
					System.out.println("读取文件的数据为:"+new String(arr2,0,count));
					
				}
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			
			
			
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally {
			if (rw!=null) {
				try {
					rw.close();
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
		}


}
}

1.FileWriter创建字符输出流,同样有2个参数,一个参数就是一个文件对象,后面的bool数值表示的就是是否在文件后面醉驾。

2.new  char创建字符串缓冲区.

3.new String传入一个包装类,传入一个字符串缓冲区,将字符串缓冲区的字符直接显示出来。这个过程式java后台自动

实现的,后面有2个参数,分别从字符穿的开始索引位置到结束索引位置.

4.循环读取缓冲区的数据,当当到了最后一行的时候会返回-1表示文件的内容已经读完成.

5.close方法表示关闭。

猜你喜欢

转载自blog.csdn.net/hackerbaseing/article/details/89052955
今日推荐