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
的子类
)
&
相关文档:
1、用静态工厂方法代替构造函数
优点:
与构造函数不同,静态工厂方法具有名字(表意好)。
每次被调用时,不要求非得创建一个新的对象。
可以返回一个原返回类型的子类型对象。
缺点:
类如果不含有公有的或受保护的构造函数,就不能被子类化。
它们于其他的静态方法没有任何区别(易混淆)
......
大家好,我是传智播客Java 11.30期就业班的一名学员。马上就要进入传智播客就业班的学习了,最近我在复习Java基础课程,希望能够打好基础,积极努力的进入就业班的学习。
今天很高兴听了张孝祥老师的讲课视频,感觉张孝祥老师的讲课非常清楚、细致,讲一些难理解的知识点时,为了让我们能够理解,张孝祥老师 ......
今天很高兴看了张孝祥老师讲的Java基础视频。
张老师首先讲的是final、super、this static的用法,张老师是这样讲的,我做了一些简单的记录:
1. ......
Java程序通过weka调用libsvm的方法 收藏
在《在eclipse下使用java调用weka》的基础上,使用《在eclipse下使用java调用weka》中介绍的方法添加libsvm的两个jar包(libsvm.jar和wlsvm.jar)及weka的jar包,这三个包可以从这里下载:http://download.csdn.net/source/1749854。
然后在import诸语句下添加:
......
java上传文件
需要的第三方jar包有(这里使用apache的)
apache的commons-fileupload(上传用),commons-io (listener清理类用) , commons-beanutils(可选)
具体操作
FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
if(ServletFileUp ......