文件的读取和复制
明确:
- 数据源:e:\.jpg
- 数据的目的地:f:\1.jpg
文件复制的步骤:
- 1.创建一个字节输入流对象,构造方法中绑定要读取的数据源
- 2.创建一个字节输出流对象,构造方法中绑定要写入的目的地
- 3.使用字节输入流对象中的方法read读取文件
- 4.使用字节输出流中的方法write,把读取到的字节写入到目的地的文件中
- 5.释放资源
第一种方式:
public static void main(String[] args) throws IOException {
//1.创建一个字节输入流对象,构造方法中绑定要读取的数据源
FileInputStream fis = new FileInputStream("E:\\1.jpg");
//2.创建一个字节输出流对象,构造方法中绑定要写入的目的地
FileOutputStream fos = new FileOutputStream("F:\\1.jpg");
//第一种方式
//一次读取一个字节写入一个字节的方式
//3.使用字节输入流对象中的方法read读取文件
int len = 0;
while ((len = fis.read()) != -1) {
//4.使用字节输出流中的方法write,把读取到的字节写入到目的地的文件中
fos.write(len);
}
//5.释放资源(先关写的,后关闭读的;如果写完了,肯定读取完毕了)
fis.close();
fos.close();
}
第二种方式:
public static void main(String[] args) throws IOException {
//1.创建一个字节输入流对象,构造方法中绑定要读取的数据源
FileInputStream fis = new FileInputStream("E:\\1.jpg");
//2.创建一个字节输出流对象,构造方法中绑定要写入的目的地
FileOutputStream fos = new FileOutputStream("F:\\1.jpg");
//第二种方式
//使用数组缓冲读取多个字节,写入多个字节
byte[] bytes = new byte[1024];
//3、使用字节输入流对象中的方法read读取文件
int len = 0;
while ((len = fis.read(bytes)) != -1) {
//4、使用字节输出流中的方法write,把读取到的字节写入到目的地的文件中
fos.write(bytes, 0, len);
}
//5.释放资源(先关写的,后关闭读的;如果写完了,肯定读取完毕了)
fis.close();
fos.close();
}