Java拷贝文件到另一个目录下
简介
在Java开发中,经常会遇到需要拷贝文件到另一个目录下的需求。本文将教会刚入行的小白如何实现这个功能。
流程
下面是拷贝文件到另一个目录下的步骤:
步骤 | 描述 |
---|---|
步骤1 | 创建一个输入流读取原文件 |
步骤2 | 创建一个输出流写入目标文件 |
步骤3 | 逐个字节从输入流读取并写入输出流 |
步骤4 | 关闭输入流和输出流 |
接下来,我们将逐步介绍每个步骤所需的代码。
代码示例
步骤1:创建一个输入流读取原文件
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
public class FileCopyExample {
public static void main(String[] args) {
File sourceFile = new File("sourceFile.txt");
try (InputStream inputStream = new FileInputStream(sourceFile)) {
// 在这里进行步骤2的代码编写
} catch (IOException e) {
e.printStackTrace();
}
}
}
以上代码创建了一个名为sourceFile.txt
的文件,并使用FileInputStream
创建了一个输入流inputStream
来读取该文件。
步骤2:创建一个输出流写入目标文件
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
public class FileCopyExample {
public static void main(String[] args) {
File sourceFile = new File("sourceFile.txt");
File targetFile = new File("targetFile.txt");
try (InputStream inputStream = new FileInputStream(sourceFile);
OutputStream outputStream = new FileOutputStream(targetFile)) {
// 在这里进行步骤3的代码编写
} catch (IOException e) {
e.printStackTrace();
}
}
}
在上述代码中,我们创建了一个名为targetFile.txt
的目标文件,并使用FileOutputStream
创建了一个输出流outputStream
来写入该文件。
步骤3:逐个字节从输入流读取并写入输出流
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
public class FileCopyExample {
public static void main(String[] args) {
File sourceFile = new File("sourceFile.txt");
File targetFile = new File("targetFile.txt");
try (InputStream inputStream = new FileInputStream(sourceFile);
OutputStream outputStream = new FileOutputStream(targetFile)) {
int byteRead;
while ((byteRead = inputStream.read()) != -1) {
outputStream.write(byteRead);
}
// 在这里进行步骤4的代码编写
} catch (IOException e) {
e.printStackTrace();
}
}
}
上述代码使用inputStream.read()
逐个字节地从输入流中读取数据,并使用outputStream.write()
将读取的字节写入输出流中。
步骤4:关闭输入流和输出流
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
public class FileCopyExample {
public static void main(String[] args) {
File sourceFile = new File("sourceFile.txt");
File targetFile = new File("targetFile.txt");
try (InputStream inputStream = new FileInputStream(sourceFile);
OutputStream outputStream = new FileOutputStream(targetFile)) {
int byteRead;
while ((byteRead = inputStream.read()) != -1) {
outputStream.write(byteRead);
}
} catch (IOException e) {
e.printStackTrace();
}
// 关闭输入流和输出流
try {
inputStream.close();
outputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
在最后的代码中,我们通过调用inputStream.close()
和outputStream.close()
来关闭输入流和输出流。
总结
通过以上步骤,我们成功地实现了将Java文件拷贝到另一个目录下的功能。在实际开发过程中,我们可以根据需要灵活运用这些步骤,并结合异常处理和其他相关操作来完成更加复杂的文件操作任务。
希望本文对刚入行的小白有所帮