IO流之文件复制(3)
2020-08-18 本文已影响0人
程序员小杰
上一篇:IO流之字节输入流【InputStream】https://www.jianshu.com/p/70c1b8d7a32d
一次读取一个字节的方式
public static void main(String[] args) throws Exception{
long startTime = System.currentTimeMillis();
//创建FileInputStream对象
FileInputStream fis = new FileInputStream("D:\\dev\\1.jpg");
//创建FileOutputStream对象
FileOutputStream fos = new FileOutputStream("D:\\dev\\2.jpg");
//一次读取一个字节的方式
int len = 0;
while ((len = fis.read()) != -1){
//使用方法write(),将读取的流写入到目的地的文件中
fos.write(len);
}
//释放资源,先关闭写的(如果写完了,肯定读完了)
fos.close();
fis.close();
long endTime = System.currentTimeMillis();
System.out.println("文件复制共耗时:" + (endTime - startTime) + "毫秒");
}
![](https://img.haomeiwen.com/i20816836/cae176335889877d.png)
一次读取多个字节的方式
public static void main(String[] args) throws Exception{
long startTime = System.currentTimeMillis();
//创建FileInputStream对象
FileInputStream fis = new FileInputStream("D:\\dev\\1.jpg");
//创建FileOutputStream对象
FileOutputStream fos = new FileOutputStream("D:\\dev\\2.jpg");
//一次读取多个字节的方式
byte[] bytes = new byte[1024];
int len = 0;
while((len = fis.read(bytes)) != -1){
//使用方法write(),将读取的流写入到目的地的文件中
fos.write(bytes,0,len);
}
//释放资源,先关闭写的(如果写完了,肯定读完了)
fos.close();
fis.close();
long endTime = System.currentTimeMillis();
System.out.println("文件复制共耗时:" + (endTime - startTime) + "毫秒");
}
![](https://img.haomeiwen.com/i20816836/4a9c5d193453832c.png)
流的关闭原则:先开后关,后开先关。
下一篇:IO流之文件字符输入流【FileReader】https://www.jianshu.com/p/d35a45e96eef