今天学习了java中对文件的操作,遇到一道简单的题目想来和大家分享。
题目:
复制文件是常见的IO操作,设计如下方法,实现复制源文件srcFile到目标文件destFile

代码如下:

package stream;
import java.io.*;
public class Test1 {

	public static void main(String[] args) {
		File f = new File("D:/123.txt");//源文件
		File f2 = new File("D:/321.txt");//目标文件
		try(FileWriter fr = new FileWriter(f2);FileReader fw = new FileReader(f)){
			char[] cs = new char[(int)f.length()];//将数组cs作为中转站
			fw.read(cs);//先从源文件中读取内容放在数组中
			fr.write(cs);//将数组中的文件写到目标文件中
			fr.close();
			fw.close();//完成之后记得关闭
		}catch(IOException e) {
			e.printStackTrace();
		}
		
	}
}

思路:
我这里把f当成源文件,f2当成目标文件。因为f文件中都是一些字符,所以这里我就使用了字符流来完成对文件的读写操作。基本思路就是将f的内容读取放在一个数组中,然后再把数组中的内容写入到目标文件f2中。
如果文件f里不是字符,而是一张图片,那我用字符流去读取就会出错,那么此时就要用字节流去完成读取操作(也就是FileOutputStream / FileInputStream)。不管是使用字节流还是字符流都需要使用异常捕获(也就是try-catch)否则编译会通不过。