Java IO流--使用FileInputStream和FileOutputStream复制图片和文件
Posted 路宇_
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java IO流--使用FileInputStream和FileOutputStream复制图片和文件相关的知识,希望对你有一定的参考价值。
一、复制图片
@Test
public void test2(){
FileInputStream fis = null;
FileOutputStream fos = null;
try {
//1.提供File类的对象
File file1 = new File("工作二维码.png");
File file2 = new File("工作二维码3.png");
//2.造流
fis = new FileInputStream(file1);
fos = new FileOutputStream(file2);
//3.复制图片
byte[] buffer = new byte[5];
int len;
while ((len=fis.read(buffer))!=-1){
fos.write(buffer,0,len);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
//4.关闭资源
if (fis!=null){
try {
fis.close();
}catch (IOException e) {
e.printStackTrace();
}
}
if (fos!=null){
try {
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
二、复制文件
//指定路径下文件的复制
public void copyFile(String srcPath,String descPath){
FileInputStream fis = null;
FileOutputStream fos = null;
try {
//1.提供File类的对象
File file1 = new File(srcPath);
File file2 = new File(descPath);
//2.造流
fis = new FileInputStream(file1);
fos = new FileOutputStream(file2);
//3.复制图片
byte[] buffer = new byte[1024];
int len;
while ((len=fis.read(buffer))!=-1){
//void write(byte[] b ,int off, int len)
//将byte[]数组下标off开始的len长度的数据写入当前输出流
fos.write(buffer,0,len);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
//4.关闭资源
if (fis!=null){
try {
fis.close();
}catch (IOException e) {
e.printStackTrace();
}
}
if (fos!=null){
try {
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
@Test
public void testCopyFile(){
long start = System.currentTimeMillis();
String srcPath="C:\\\\Users\\\\DELL\\\\Desktop\\\\1.回顾类-封装和继承.mp4";
String descPath= "C:\\\\Users\\\\DELL\\\\Desktop\\\\1.回顾类-封装和继承3.mp4";
copyFile(srcPath,descPath);
long end = System.currentTimeMillis();
System.out.println("复制消耗的时间:"+(end-start));
}
以上是关于Java IO流--使用FileInputStream和FileOutputStream复制图片和文件的主要内容,如果未能解决你的问题,请参考以下文章