学习java的基础时会遇到操作非文本文件这里写一个复制图片的例子
首先介绍一下思路:
1,用字节流读取流对象和图片关联
2,用字节写入流对象创建一个图片文件,用于存储获取到的图片数据
3,通过循环读写,完成数据的存储‘
4,关闭资源这,一步一定要有
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
/**
* 复制图片
*
* @author Administrator
*
*/
public class CopyImge {
/**
* 字节输出流
*/
private static FileOutputStream fos = null;
/**
* 字节输入流
*/
private static FileInputStream fis = null;
public static void copyImge() {
try {
fos = new FileOutputStream("F:\\2.jpg");//复制文件
fis = new FileInputStream("F:\\1.jpg");//源文件
byte[] buf = new byte[1024];//缓冲区
int len = 0;
while ((len = fis.read(buf)) != -1) {
fos.write(buf, 0, len);//复制
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (fis != null)
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
try {
if (fos != null)
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
public static void main(String[] args) {
copyImge();//调用复制方法
}
首先介绍一下思路:
1,用字节流读取流对象和图片关联
2,用字节写入流对象创建一个图片文件,用于存储获取到的图片数据
3,通过循环读写,完成数据的存储‘
4,关闭资源这,一步一定要有
还是那句话复制就是一个读写的过程,掌握好字节流,字符流就是基本一样的操作,只是操作的对象不一样而已
上代码:
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
/**
* 复制图片
*
* @author Administrator
*
*/
public class CopyImge {
/**
* 字节输出流
*/
private static FileOutputStream fos = null;
/**
* 字节输入流
*/
private static FileInputStream fis = null;
public static void copyImge() {
try {
fos = new FileOutputStream("F:\\2.jpg");//复制文件
fis = new FileInputStream("F:\\1.jpg");//源文件
byte[] buf = new byte[1024];//缓冲区
int len = 0;
while ((len = fis.read(buf)) != -1) {
fos.write(buf, 0, len);//复制
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (fis != null)
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
try {
if (fos != null)
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
public static void main(String[] args) {
copyImge();//调用复制方法
}
}
注意,操作io流时都会有io异常要处理