开发工具与关键技术:MyEclipse 10,MySQL;Java
撰写时间:2019-08-16
字节流:所谓的字节流就是处理字节数据的流对象。设备上的数据无论是图片或者dvd,文字,它们都以二进制存储的。二进制的最终都是以一个8位为数据单元进行体现,所以计算机中的最小数据单元就是字节。意味着,字节流可以处理设备上的所有数据,所以字节流一样可以处理字符数据。
字节流和字符流的操作方式几乎完全一样,区别只是操作的数据单元不同而已。也就是说字节流和字符流仅仅是操作单位不一样。字节流操作的数据单元是字节,而字符流操作的数据单元是字符。
字节流 :
- 字节流主要是操作 byte(字节)的类型数据。
- 字节输出流:OutputStream
- 字节输入流:InputStream
字符流 :
- Java中的字符是 Unicode 编码,是双字节的,1个字符 等于2个字节;使用字节来处理字符文本就不太方便了,此时可以考虑使用字符流;
- 字符流主要是操作 char 的类型数据;
- 字符输出流:Writer
- 字符输入流:Reader
public class FunctionDemo {
public static void main(String[] args) {
File src = new File("6.4");
read(src);
}
public static void read(File src) {
Reader r = null;
try {
r = new FileReader(src);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
char[] c = new char[1024];
int len;
try {
while ((len = r.read(c)) != -1) {
System.out.println(new String(c, 0, c.length));// 打印到
// 控制台
}
} catch (IOException e) {
e.printStackTrace();
}
try {
r.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
两者相比,肯定使用字节流更加的方便,而且在程序中像图片、MP3 等都是采用字节的方式的保存,那么肯定字节流会比字符流使用的更广泛。但是需要说明的是,但是如果要是想操作中文的话,字符流肯定是最好使的。(字节流的话可能会出现乱码,将一个汉字分成了两份!)