java文件操作工具类实现复制文件和文件合并


下面是一个简单的Java文件操作工具类,包含了复制文件和合并文件的功能。这个类使用了Java的`java.io`包中的类来处理文件。


import java.io.*;

public class FileUtils {

    /**
     * 复制文件
     * 
     * @param sourceFile 源文件路径
     * @param destFile 目标文件路径
     * @throws IOException 如果发生I/O错误
     */
    public static void copyFile(String sourceFile, String destFile) throws IOException {
        FileInputStream fis = null;
        FileOutputStream fos = null;
        try {
            fis = new FileInputStream(sourceFile);
            fos = new FileOutputStream(destFile);

            byte[] buffer = new byte[1024];
            int length;
            while ((length = fis.read(buffer)) > 0) {
                fos.write(buffer, 0, length);
            }
        } finally {
            if (fis != null) {
                fis.close();
            }
            if (fos != null) {
                fos.close();
            }
        }
    }

    /**
     * 合并文件
     * 
     * @param destFile 目标文件路径(合并后的文件)
     * @param sourceFiles 源文件路径数组
     * @throws IOException 如果发生I/O错误
     */
    public static void mergeFiles(String destFile, String... sourceFiles) throws IOException {
        FileOutputStream fos = null;
        try {
            fos = new FileOutputStream(destFile, false); // false表示不追加

            for (String sourceFile : sourceFiles) {
                FileInputStream fis = null;
                try {
                    fis = new FileInputStream(sourceFile);

                    byte[] buffer = new byte[1024];
                    int length;
                    while ((length = fis.read(buffer)) > 0) {
                        fos.write(buffer, 0, length);
                    }
                } finally {
                    if (fis != null) {
                        fis.close();
                    }
                }
            }
        } finally {
            if (fos != null) {
                fos.close();
            }
        }
    }
}

**注意**:

- 这个工具类使用了try-finally结构来确保文件流在操作完成后能够被正确关闭。

- `copyFile`方法用于复制单个文件。

- `mergeFiles`方法用于将多个源文件合并到一个目标文件中。此方法接受一个可变参数`sourceFiles`,它是一个字符串数组,包含了所有要合并的源文件路径。

- 在调用这些方法时,需要确保提供的文件路径是正确的,且Java程序有足够的权限去读写这些文件。

- 这个示例没有添加异常处理的逻辑(比如打印日志或通知用户),这在实际应用中可能是必要的。