Java复制文件的4种方式及拷贝文件到另一个目录下的实例代码
在Java中,复制文件可以使用多种方式,这里详细介绍4种常用的方法及对应的实例代码。
1. 使用 InputStream 和 OutputStream 进行复制
第一种方式是使用 InputStream 和 OutputStream,具体步骤如下:
- 创建 File 对象表示输入文件和输出文件;
- 创建 FileInputStream 对象读取输入文件;
- 创建 FileOutputStream 对象用于输出文件;
- 通过 while 循环和 buffer 数组复制文件;
- 关闭输入输出流。
以下是该方法的示例代码:
import java.io.*;
public class FileCopyExample {
public static void main(String[] args) {
File inputFile = new File("input.txt");
File outputFile = new File("output.txt");
try (InputStream inputStream = new FileInputStream(inputFile);
OutputStream outputStream = new FileOutputStream(outputFile)) {
byte[] buffer = new byte[1024];
int length;
while ((length = inputStream.read(buffer)) > 0) {
outputStream.write(buffer, 0, length);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
2. 使用 Files.copy 进行复制
第二种方式是使用 Files.copy 方法进行复制,具体步骤如下:
- 创建 Path 对象表示输入文件和输出文件;
- 调用 Files.copy 方法复制文件。
以下是该方法的示例代码:
import java.nio.file.*;
public class FileCopyExample {
public static void main(String[] args) {
Path inputPath = Paths.get("input.txt");
Path outputPath = Paths.get("output.txt");
try {
Files.copy(inputPath, outputPath);
} catch (IOException e) {
e.printStackTrace();
}
}
}
3. 使用 Files.readAllBytes 和 Files.write 进行复制
第三种方式是使用 Files.readAllBytes 方法读取文件,然后使用 Files.write 方法写入文件,具体步骤如下:
- 创建 Path 对象表示输入文件和输出文件;
- 调用 Files.readAllBytes 方法读取输入文件;
- 调用 Files.write 方法写入输出文件。
以下是该方法的示例代码:
import java.nio.file.*;
public class FileCopyExample {
public static void main(String[] args) {
Path inputPath = Paths.get("input.txt");
Path outputPath = Paths.get("output.txt");
try {
byte[] inputBytes = Files.readAllBytes(inputPath);
Files.write(outputPath, inputBytes);
} catch (IOException e) {
e.printStackTrace();
}
}
}
4. 使用 Apache Commons IO 进行复制
第四种方式是使用 Apache Commons IO 库的 FileUtils.copyFile 方法进行复制,具体步骤如下:
- 创建 File 对象表示输入文件和输出文件;
- 调用 FileUtils.copyFile 方法复制文件。
以下是该方法的示例代码:
import org.apache.commons.io.FileUtils;
import java.io.*;
public class FileCopyExample {
public static void main(String[] args) {
File inputFile = new File("input.txt");
File outputFile = new File("output.txt");
try {
FileUtils.copyFile(inputFile, outputFile);
} catch (IOException e) {
e.printStackTrace();
}
}
}
拷贝文件到另一个目录下的示例代码
以下是将文件拷贝到另一个目录下的示例代码,该示例使用第一种方法进行文件复制:
import java.io.*;
public class FileCopyExample {
public static void main(String[] args) {
File inputFile = new File("input.txt");
File outputFile = new File("anotherDir/output.txt");
try (InputStream inputStream = new FileInputStream(inputFile);
OutputStream outputStream = new FileOutputStream(outputFile)) {
byte[] buffer = new byte[1024];
int length;
while ((length = inputStream.read(buffer)) > 0) {
outputStream.write(buffer, 0, length);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
该示例将 input.txt 文件复制到 anotherDir 目录下的 output.txt 文件。如果该目录不存在,则程序会抛出 FileNotFoundException 异常。在实际开发中,需要先判断目录是否存在,如果不存在则先创建目录。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java复制文件的4种方式及拷贝文件到另一个目录下的实例代码 - Python技术站