字符流--复制文件

需求:复制文本文件

思路:

1,读取一个已有的文本文件,使用字符读取流(读写)和文件关联

2 ,  创建一个目的地,用于存储读取到的文件

3 ,  进行循环读取。

4 ,  关闭IO流

package org.panda.io;
import java.io.File;
import java.io.FileNotFoundException;
/*
	 * 需求:将E盘一个文本文件复制到F盘
	 * 思路:
	 * 1,读取一个已有的文本文件,需要字符读取流和文件相关联
	 * 2,创建一个目的,用于存储读到的数据
	 * 3,频繁的读写操作
	 * 4,关闭IO
	 */
import java.io.FileReader ;
import java.io.FileWriter ;
import java.io.IOException;
public class CopyTextDemo01 {

	public static void main(String[] args)  {
		FileReader fr = null ; //声明对象
		FileWriter fw = null ; //声明对象
		try {
			fr = new FileReader(("f:\\Demo01.txt")) ; //实例对象并指明源文件路径
			fw = new FileWriter("e:\\Demo03.txt") ;
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		int ch = 0 ;
		try {
			while((ch=fr.read())!=-1){	//循环读写操作
				fw.write(ch); 			//上边读一个 下边写一个
			}
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		try {
			fr.close();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		try {
			fw.close();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}

}

第二种方法,使用数组作为传递

package org.panda.io;

import java.io.FileReader ;
import java.io.FileWriter ;
import java.io.IOException;
public class CopyTextDemo03
{
	public static void main(String[] args) 
	{
		//1,读取一个已有的文本文件,使用字符读取流和文件链接
		FileReader fr = null ; //声明FileReander对象
		FileWriter fw = null ; //声明对象
		try 
		{
			fr = new FileReader("f:\\Demo02.txt") ;
			fw = new FileWriter("e:\\Demo100") ; //实例化对象 指定复制目的文件
			//2, 定义一个字符数组来保存 文件中字符
			char[] ch = new char[1024] ;//定义一个数组长度
			int len = 0 ;				//声明文本长度
			while((len=fr.read(ch))!=-1)//循环读取文本长度,当读到长度最后一个时 
			{
				System.out.println(new String(ch,0,len));//将数组中字符使用字符串输出
			}
			
		} catch (Exception e) {
			e.printStackTrace();
		}
		if(fr!=null)
		{
			try {
				fr.close() ;
			} catch (IOException e) {
				// TODO: handle exception
			}
		}
		if(fw!=null)
		{
			try {
				fw.close();
			} catch (IOException e) {
				// TODO: handle exception
			}
		}
	}

}

你可能感兴趣的:(字符流--复制文件)