站点介绍
FileInputStream即文件字节操作流,即以字节的形式操作文件系统的数据文件。
其源码有两个构造函数。分别代表通过路径或者文件对象File来执行初始化。
public FileInputStream(String name) throws FileNotFoundException { ...}public FileInputStream(File file) throws FileNotFoundException { ...}同时咱们需要关注其两个读函数,分别是读一个字节和读一个字节数组。
public int read() throws IOException { ...} public int read(byte b[]) throws IOException { ... }FileInputStream通常与FileOutputStream配合使用。FileOutputStream代表一个字节写操作流。FileOutputStream和FileInputStream有差不多一样的构造函数,其需要关注的重点函数是write写函数。下面看一个文件复制的例子。
public static void copy1() throws IOException { // 文件复制 String fileInPath = "D:\\2021.txt"; String fileOutPath = "D:\\2021_1.txt"; FileInputStream fis = new FileInputStream(fileInPath); FileOutputStream fos = new FileOutputStream(fileOutPath); //读文件 byte[] buffer = new byte[1024]; while (fis.read(buffer) != -1) { fos.write(buffer); } fos.close(); fis.close(); }上图是将2021.txt复制到2021_1.txt的数据文件例子。先用构造函数初始化文件输入输出流,然后将输入文件读入固长度字节数组,再依次进行输出,就实现了文件的复制。需要值得注意的是,流操作在结束后需要进行关闭。
看到这里,你学会使用java进行文件复制了吗?