28.创建一个程序,能够复制一个文件的内容到另一个文件中。
以下是一个简单的Java程序,用于将一个文件的内容复制到另一个文件中:
java复制代码
import java.io.*; |
|
public class FileCopy { |
|
public static void main(String[] args) { |
|
File sourceFile = new File("source.txt"); |
|
File destinationFile = new File("destination.txt"); |
|
try ( |
|
FileInputStream fileInputStream = new FileInputStream(sourceFile); |
|
FileOutputStream fileOutputStream = new FileOutputStream(destinationFile); |
|
BufferedInputStream bufferedInputStream = new BufferedInputStream(fileInputStream); |
|
BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(fileOutputStream); |
|
) { |
|
byte[] buffer = new byte[1024]; |
|
int bytesRead; |
|
// 读取源文件内容,并写入目标文件 |
|
while ((bytesRead = bufferedInputStream.read(buffer)) != -1) { |
|
bufferedOutputStream.write(buffer, 0, bytesRead); |
|
} |
|
System.out.println("文件复制成功。"); |
|
} catch (IOException e) { |
|
System.err.println("发生错误,无法复制文件: " + e.getMessage()); |
|
} |
|
} |
|
} |
在这个程序中,我们首先创建了两个File
对象,分别代表源文件和目标文件。然后,我们使用FileInputStream
和FileOutputStream
来读取源文件并写入目标文件。为了提高性能,我们使用了BufferedInputStream
和BufferedOutputStream
,它们提供了带缓冲的输入输出流。
我们创建了一个字节数组作为缓冲区,并在循环中从源文件读取数据,然后写入目标文件。这个过程会一直进行,直到源文件的末尾。
程序使用了try-with-resources
语句来确保流在不再需要时能够正确关闭。如果在复制文件的过程中发生IOException
,程序会捕获这个异常并打印出错误信息。
请注意,你需要将source.txt
替换为你要复制的源文件的实际路径和名称,将destination.txt
替换为你想要创建的目标文件的实际路径和名称。如果目标文件所在的目录不存在,FileOutputStream
的构造器可能会抛出FileNotFoundException
。在这种情况下,你可能需要先创建目录,或者在写入文件之前检查目录是否存在