常见io流-------文件字符流FileReader、FileWriter。可以直接操作char型字符

/**
 * 演示字符流的案例,实现文本的复制
 */
package com.file;

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

public class Demo5 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		//1、定义文件字符流
		FileReader fileReader=null;//文件读取字符流(输入,从磁盘读入内存)
		FileWriter fileWriter =null;//文件书写(输出)字符流
		
			//如果不存在该文件会报错
		try {
			//2创建文件字符流对象,将文本文件读取到文件io流
			fileReader=new FileReader("d:/test.txt");
				//2创建文件字符流对象
				//如果不存在该文件会新建
				try {
					fileWriter=new FileWriter("d:/test1.txt");
				} catch (IOException e1) {
					// TODO Auto-generated catch block
					e1.printStackTrace();
				}
			//3读入内存,从输入流读取内容。并实现从内存书写到磁盘实现复制
			char[] buffer=new char[1024];//区别字节输入流的数组,此处采用的char型数组。(字节是以byte传输的不能用char型数组)
			int n=0;//记录实际读取的字符数
				//fileReader.read(buffer)将读入的字符放到字符数族中,直到读取到流的结尾返回-1
			try {
				while ((n=fileReader.read(buffer))!=-1) {
					fileWriter.write(buffer, 0, n);
				}
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally {
			//4关闭字符输入输出流
			try {
				fileReader.close();
				fileWriter.close();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}

		}
	}
}

猜你喜欢

转载自blog.csdn.net/noreaday/article/details/79533228