编写一个java程序,使它将文件组合在一起构成一个新文件,从键盘输出要合成的文件 将 SourceFile1 , … ,SourceFilen 合并为 TargetFile,目标文件与源程序地址一致,在程序中抛出异常并处理,并用中文给出详细注释
时间: 2024-02-25 12:54:31 浏览: 19
好的,我可以帮你解决这个问题。
下面是一个 Java 程序的代码,它可以将多个文件合并成一个文件:
```java
import java.io.*;
public class FileMerger {
public static void main(String[] args) {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String[] sourceFiles = null;
String targetFile = null;
try {
System.out.print("请输入要合并的文件数目:");
int count = Integer.parseInt(reader.readLine());
sourceFiles = new String[count];
for (int i = 0; i < count; i++) {
System.out.print("请输入第" + (i + 1) + "个要合并的文件名:");
sourceFiles[i] = reader.readLine();
}
System.out.print("请输入目标文件名:");
targetFile = reader.readLine();
} catch (Exception e) {
System.out.println("输入有误!");
e.printStackTrace();
return;
}
try {
OutputStream out = new FileOutputStream(targetFile);
for (String sourceFile : sourceFiles) {
InputStream in = new FileInputStream(sourceFile);
byte[] buffer = new byte[1024];
int len = -1;
while ((len = in.read(buffer)) != -1) {
out.write(buffer, 0, len);
}
in.close();
}
out.close();
System.out.println("文件合并完成!");
} catch (IOException e) {
System.out.println("文件合并出错!");
e.printStackTrace();
}
}
}
```
这个程序首先会提示你输入要合并的文件数目和文件名,然后再提示你输入目标文件名。程序会将多个源文件的内容依次读取并写入目标文件中。
程序中通过 `InputStream` 和 `OutputStream` 来读取和写入文件。在读取和写入文件时,程序会采用缓冲区来提高效率。
如果出现异常,程序会捕获并处理异常,并打印出错信息。
希望这个程序能够帮助到你,如果有任何问题,欢迎随时问我。