java字节流、字符流
Java
流操作
对于我们常用的GBK中,英文是占用1个字节,中文是2个
对于UTF-8,英文是1个,中文是3个
对于Unicode,英文中文都是2个
Java
的流操作分为字节流和字符流两种。
1、
字节流
所有的读操作都继承自一个公共超类
java
.io.InputStream
类。
所有的写操作都继承自一个公共超类
java
.io.OutputStream
类。
InputStream
和
OutputStream
都是抽象类。
InputStream
有
6
个低级输入流:
低级流
流的用途
ByteArrayInputStream
从内存数组中读取数据字节
FileInputStream
从本地文件系统中读取数据字节
PipedInputStream
从线程管道中读取数据字节
StringBufferInputStream
从字符串中读取数据字节
SequenceInputStream
从两个或多个低级流中读取数据字节,当到达流的末尾时从一个流转到另一个流
System.in
从用户控制台读取数据字节
InputStream
还有一个子类:过滤器流
java
.io.FilterInputStream
。过滤器流即能把基本流包裹起来,提供更多方便的用法。
FilterInputStream
类的构造方法为
FilterInputStream(InputStream)
,在指定的输入流之上,创建一个输入流过滤器。
FilterInputStream
的常用的子类如下:
过滤器输入流
流的用途
BufferedInputStream
缓冲区对数据的访问,以提高效率
DataInputStream
从输入流中读取基本数据类型,如
int
、
float
、
double
或者甚至一行文本
LineNumberInputStream
在翻译行结束符的基础上,维护一个计数器,该计数器表明正在读取的是哪一行。
PushbackInputStream
允许把数据字节向后推到流的首部
OutputStream
(略)
OutputStream
的结构基本和
InputStream
是一样的。
2、
字符流
注:是在
jdk1.1
里面引进的,上面字节流是在
jdk1.0
引进的。当用于处理文本数据时,选择字符流比字节流更好。但对只出路基本数据类型的开发者,可以继续使用字节流。
所有的读操作都继承自一个公共超类
java
.io.Reader
类。
所有的写操作都继承自一个公共超类
java
.io.Writer
类。
同样
Reader
和
Writer
也是抽象类。
Reader
的常用的子类如下:
低级读取器
流的用途
CharArrayReader
从字符数组中读取数据
InputStreamReader
FileReader
(
InputStreamReader
的子类
)
&
相关文档:
package com.wepull.jbs.lesson4;
import java.util.Random;
/**
* 排序测试类
*
* 排序算法的分类如下:
* 1.插入排序(直接插入排序、折半插入排序、希尔排序);
* 2.交换排序(冒泡泡排序、快速排序);
* 3.选择排序(直接选择排序、堆排序);
......
1、用静态工厂方法代替构造函数
优点:
与构造函数不同,静态工厂方法具有名字(表意好)。
每次被调用时,不要求非得创建一个新的对象。
可以返回一个原返回类型的子类型对象。
缺点:
类如果不含有公有的或受保护的构造函数,就不能被子类化。
它们于其他的静态方法没有任何区别(易混淆)
......
大家好,我是传智播客Java 11.30期就业班的一名学员。马上就要进入传智播客就业班的学习了,最近我在复习Java基础课程,希望能够打好基础,积极努力的进入就业班的学习。
今天很高兴听了张孝祥老师的讲课视频,感觉张孝祥老师的讲课非常清楚、细致,讲一些难理解的知识点时,为了让我们能够理解,张孝祥老师 ......
今天我学习了反射与多线程的知识
反射:Class cls1=Date.class//字节码1;
Class cls2=Person.class//字节码2;
P1.getClass();//得到字节码
Class.forName(“java.lang.String”) //得到这个类的字节码
后台线程与联合线程
l & ......
楼主发表于:2008-06-17 15:26:20
l JBS
1.列举出 10个JAVA语言的优势
a:免费,开源,跨平台(平台独立性),简单易用,功能完善,面向对象,健壮性,多线程,结构中立,企业应用的成熟平台, 无线应用
2.列举出JAVA中10个面向对象编程的术语
a:包,类,接口,对象,属性,方法,构造器 ......