糖尿病康复,内容丰富有趣,生活中的好帮手!
糖尿病康复 > 使用字符流和字节流复制图片

使用字符流和字节流复制图片

时间:2023-05-26 09:02:40

相关推荐

使用字符流和字节流复制图片

分别使用字符流和字节流复制图片,字节流可以操作所有类型的文件,因为所有的文件在计算机中都是以字节形式存储;而字符流只能用来操作纯文本类型的文件,不能操作字节类型的文件,尽管能复制到图片到另一个文件夹中都是以及损坏的图片。以下是案例源代码:

package com.qx;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;/** 图片准备:在eclipse中相对路径相对应当前项目的根目录放两张图片* 字节流与字符流的区别:*字节流操作的基本单元为字节;字符流操作的基本单元为Unicode码元;* 字节流默认不使用缓冲区;字符流使用缓冲区 *字节流通常用于处理二进制数据,实际上它可以处理任意类型的数据,但它不支持直接写入或读取Unicode码元;*字符流通常处理文本数据,它支持写入及读取Unicode码元。*/public class FileImageDemo {public static void main(String[] args) throws IOException {method1(); //字符流复制图片(存在图片损坏) method2(); //字节流复制图片}private static void method1() throws FileNotFoundException, IOException {//创建字符输入流对象FileReader fr = new FileReader("304641.jpg");//创建字符输出流对象FileWriter fw = new FileWriter("d:\\a\\304641.jpg");//一次读写一个字符数组int len;// 用于存储读到的字符个数char[] chs = new char[1024];while ((len = fr.read(chs)) != -1) {fw.write(chs, 0, len);fw.flush();}// 释放资源fw.close();fr.close();}private static void method2() throws FileNotFoundException, IOException {// 创建字节输入流对象FileInputStream fis = new FileInputStream("306328.jpg");// 创建字节输出流对象FileOutputStream fos = new FileOutputStream("d:\\a\\306328.jpg");// 一次读写一个字节数组int len;// 用于存储读到的字节个数byte[] bys = new byte[1024];while ((len = fis.read(bys)) != -1) {fos.write(bys, 0, len);}// 释放资源fos.close();fis.close();}}

如果觉得《使用字符流和字节流复制图片》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。