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
的子类
)
&
相关文档:
create PROCEDURE pagelist
@tablename nvarchar(50),
@fieldname nvarchar(50)='*',
@pagesize int output,--每页显示记录条数
@currentpage int output,--第几页
@orderid nvarchar(50),--主键排序
@sort int,--排序方式,1表示升序,0表示降序排列
......
package com.wepull.jbs.lesson4;
import java.util.Random;
/**
* 排序测试类
*
* 排序算法的分类如下:
* 1.插入排序(直接插入排序、折半插入排序、希尔排序);
* 2.交换排序(冒泡泡排序、快速排序);
* 3.选择排序(直接选择排序、堆排序);
......
1.背景、形势
能够进行Web开发的编程语言和技术很多
(1) 动态解释语言
PHP; Perl; Python (Zope, Plone); Ruby (Ruby on Rails);
(2) 编译语言
Java; .net
Java Web开发远非一枝独秀:
除了受到来自.net 这个重量级对手的最大挑战之外,更受到Zope, Ruby on Rail 等新式轻骑兵的冲击(当然,也继续受到老式轻 ......
这个关于JMS(Java Message Service)的概要回答了下面几个问题:
1.什么是消息?
2.么是JMS API?
3.如何使用JMS API?
4. JMS API是如何与J2EE平台一起工作的?
1.1什么是消息?
消息是软件组件或者应用之间交流的一种方法。消息系统是一个点对点的功能,一个消息客户端可以发送和接 ......
今天我学习了反射与多线程的知识
反射:Class cls1=Date.class//字节码1;
Class cls2=Person.class//字节码2;
P1.getClass();//得到字节码
Class.forName(“java.lang.String”) //得到这个类的字节码
后台线程与联合线程
l & ......