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
。在这种情况下,你可能需要先创建目录,或者在写入文件之前检查目录是否存在