实验内容
- 编写文本文件复制程序,即把源文件复制到目标文件,运行时用参数方式输入源文件名和目标文件名,设入口主类为FileCopy,则运行方式为:
java FileCopy 源文件名 目标文件名 - 将任意两个文件合并到一个文件,要求采用java命令行方式在控制台按照“源文件1 源文件2 目标文件” 方式录入,注意多种异常处理。
- 编写程序实现将一个文件内容追加到另一个文件内容后,如将D盘file文件夹下的f1.txt追加到E盘根目录下的f2.txt中。(必须异常处理)
说明
在对文件进行操作时候,必定会涉及输入流和输出流的使用,Java对流操作的类有多个,这里简单举BufferedReader(输入,即读取文件)、BufferedWriter(输出,即写入文件)这两个类作为示例。这两个是对输入和输出操作有具有缓冲的作用。先掌握这种文件操作的使用,其余的都是差不多的。
第一题
解题思路:
因为实验内容只是简单地复制文件内容,所有使用按行来读取的操作,即BufferedReader自带的readLine()函数。当行读取为空时,则读取结束。
PS:本文会涉及到相对路径和绝对路径的问题,在CMD命令行下,系统默认的是在src目录下,而在MyEclipse代码下默认是当前Java文件目录下。两者的相对目录不一样。为了避免发生错误,统一只用绝对路径。
代码:
import java.io.*;
public class FileCopy {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
String inPath = args[0];
String outPath = args[1];
try{
//使用BufferedReader的固定用法
FileReader inOne