字符流(拷贝图片)
来源:互联网 发布:淘宝刷差评多少钱一单 编辑:程序博客网 时间:2024/05/17 00:07
字符流_FileReader和FileWriter拷贝一张图片(会出错的原因)。
字节流可以拷贝视频和音频等文件,那么字符流可以拷贝这些吗?
经过验证拷贝图片是不行的。发现丢失了信息,为什么呢?
计算机中的所有信息都是以二进制形式进行的存储(1010)图片中的也都是二进制在读取文件的时候
字符流自动对这些二进制按照码表进行了编码处理,但是图片本来就是二进制文件,不需要进行编码。
有一些巧合在码表中有对应,就可以处理,并不是所有的二进制都可以找到对应的。信息就会丢失。
所以字符流只能拷贝以字符为单位的文本文件
(以ASCII码为例是127个,并不是所有的二进制都可以找到对应的ASCII,有些对不上的,就会丢失信息。)
何时使用字符流,何时使用字节流?依据是什么?
使用字符流的应用场景:如果是读写字符数据的时候则使用字符流。
使用字节流的应用场景:如果是读写的数据都不需要转换成字符的时候,则使用字节流。
package com.cn.writer;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
/**
* Author:Liu Zhiyong(QQ:1012421396)
* Version:Version_1
* Date:2016年7月28日16:29:21
* Desc:使用FileReader和FileWriter拷贝一张图片
字节流可以拷贝视频和音频等文件,那么字符流可以拷贝这些吗?
经过验证拷贝图片是不行的。发现丢失了信息,为什么呢?
计算机中的所有信息都是以二进制形式进行的存储(1010)图片中的也都是二进制在读取文件的时候
字符流自动对这些二进制按照码表进行了编码处理,但是图片本来就是二进制文件,不需要进行编码。
有一些巧合在码表中有对应,就可以处理,并不是所有的二进制都可以找到对应的。信息就会丢失。
所以字符流只能拷贝以字符为单位的文本文件
(以ASCII码为例是127个,并不是所有的二进制都可以找到对应的ASCII,有些对不上的,就会丢失信息。)
何时使用字符流,何时使用字节流?依据是什么?
使用字符流的应用场景:如果是读写字符数据的时候则使用字符流。
使用字节流的应用场景:如果是读写的数据都不需要转换成字符的时候,则使用字节流。
*/
public class Demo2 {
public static void main(String[] args) throws IOException {
//找到目标文件
File file = new File("F:/cool.png");
File destFile = new File("f:/nn.png");
//建立数据通道
FileReader fileReader = new FileReader(file);
FileWriter fileWriter = new FileWriter(destFile);
//建立缓冲字符数组边读边写
int length = 0;
char[] buf = new char[1024];
while((length = fileReader.read(buf)) != -1){
fileWriter.write(buf, 0, length);
}
//关闭资源
fileWriter.close();
fileReader.close();
}
}
0 0
- 字符流(拷贝图片)
- 字符流拷贝(转载)
- 字节流(拷贝图片)
- 字符流拷贝文件
- 缓冲字节流(拷贝图片)
- IO流(拷贝图片)
- IO流--拷贝图片
- IO流拷贝图片
- 字符拷贝
- java中字符文件的拷贝(文字拷贝)
- 拷贝图片
- 图片拷贝
- 字符流实现文件数据的拷贝
- 字符流的应用于文件的拷贝
- Java_基础—字符流的拷贝
- 字符数组拷贝函数(一)
- 字符数组拷贝函数(二)
- javaIO流中文件的拷贝和图片的拷贝
- git使用记录
- 【Java语言】Ja.1.3--浅谈多线程机制(三)之互斥与同步
- java.util.map源码+学习心得
- 5-9 集合相似度
- 7.斐波那契数列
- 字符流(拷贝图片)
- (OK) init: Service exec 1 (/system/bin/logwrapper) does not have a SELinux domain defined.
- Android如何将Activity以Dialog的形式显示
- Cordova 环境搭建和自定义插件
- C#中Socket编程
- gdb debug
- hdu 1226
- 【BZOJ2753】【SCOI2012】滑雪与时间胶囊(最小生成树+层次图)
- 水题-fxx and string