文件复制练习
预定路径文件名明确:
数据源:C:\1.jpg
数据的目的地:F:\develop\1.jpg
文件复制的步骤:
1、创建一个字节输入流对象,构造方法 中绑定要读取的数据源
2、创建一个字节输出流对象,构造方法中绑定要写入的目的地
3、使用字节输入流对象中的read方法读取文件
4、使用字节输出流中的write方法,把读取到的字节写入到目的地文件中
5、关闭流,释放资源
一次读取一个字节写入一个字节的方式的文件复制
package com.baidu.字节输入输出流;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class InputStream03 {
public static void main(String[] args) throws IOException {
FileInputStream fis = new FileInputStream("C:\\1.jpg");
FileOutputStream fos = new FileOutputStream("F:\\develop\\1.jpg");
//一次读取一个字节写入一个字节的方式
int len = 0;
while ((len=fis.read())!=-1){
fos.write(len);
}
//5、关闭流、释放资源(先关闭写的,后关闭读的,如果写完了,肯定就读完了)
fos.close();
fis.close();
}
}
使用数组缓冲读取多个字节,写入多个字节复制文件
package com.baidu.字节输入输出流;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class InputStream03 {
public static void main(String[] args) throws IOException {
long s = System.currentTimeMillis();
FileInputStream fis = new FileInputStream("C:\\1.jpg");
FileOutputStream fos = new FileOutputStream("F:\\develop\\1.jpg");
/*//一次读取一个字节写入一个字节的方式
int len = 0;
while ((len=fis.read())!=-1){
fos.write(len);
}*/
//使用数组缓冲读取多个字节,写入多个字节
byte[] bytes = new byte[10240];
//3、使用字节输入流对象中的方法read读取文件
int len = 0;//每次读取有效字节个数
while ((len=fis.read(bytes))!=-1){
//使用字节输出流中的方法write,把读取到的字节写入到目的地的文件中
fos.write(bytes,0,len);
}
//5、关闭流、释放资源(先关闭写的,后关闭读的,如果写完了,肯定就读完了)
fos.close();
fis.close();
long e = System.currentTimeMillis();
System.out.println("复制文件用时"+(e-s)+"毫秒");
}
}