今日所学很一般,我搜索了一些资料看了以下,经过此次阅读,我又会使用了几个功能,希望在接下来的编程中用到。
java.io输入流
java.io.InputStream
这是一个抽象类,它定义的方法可以用于以字节流的形式从一个输入源读取数据。
InputStream是面向字节的而不是面向字符的,因此,不能保证通过将字节序列扩宽到char序列中就可以用它安全地读取字符数据。实际上,应当使用DataInputStream的readUTF()方法或readChar()方法,或者使用一个带有合适于输入流数据编码的InputStreamReader来处理字符数据。
java.io.ByteArrayInputStream
InputStream的子类,该类根据向它的某个构造函数传递的一个字节数组返回数据。
如果想再读取数据时感觉这些数据好像来自于文件、通道或套接字,则这个类非常有用,例如rms读取。
这个类支持InputStream的mark()和reset()操作。此流不能对字节数组进行转换,但由于流不复制数据因此可以修改数组中的内容然后再调用了reset()方法之后重新读取,但须注意原始字节数组必须足以容纳所要做的修改时才可以。
java.io.DataInput(interface)
这是一个由类实现的接口,可以从与平台无关的二进制编码中读取字符串和java的基本类型。其中,与平台无关的二进制编码由实现DataOutput接口的类创建。
实现readFully()方法。
java.io.DataInputStream
它是InputStream的子类,实现了DataInput接口的方法,从另一个InputStream中将已编码数据读入一个字节序列。此类实例不仅能直接创建,而且还能有其他不同方法(如javax.microedition.io.Connector的openDataInputStream方法)获得。在这种情况下,openDataInputStream方法返回一个流,从而可以由网络连接读取数据,或者是由利用CLDC通用连接框架可以访问到的其他类型的数据源读取数据。
java.io.Reader
这是一个抽象类,它定义一组方法,这些方法由提供字符输出的子类实现,Reader与InputStream的不同在于,它是以16位Unicode字符形式而不是8位字符工作的。
通过将InputStream与InputStreamReader包装在一起,可以将8位InputStream转换成Unicode字符序列。Reader提供的大多数方法与InputStream相同,只是它的基本传输单位是char而不是byte。
java.io.InputStreamReader
InputStreamReader是Reader的一个子类,它从底层8位输入流读取字节并把它们转换成Unicode字符。将InputStream的字节映射到由InputStreamReader返回的字符,这可以通过构造函数中指定的编码来完成,如果使用的是单参数的构造函数,也可以采用主机平台默认的编码来实现。
可以从系统属性microedition.encoding()方法返回InputStreamReader所用的编码。
java.io.PrintStream
PrintStream是OutputStream的子类,它包含一些方法,可在将java基本类型和对象写入一个底层OutputStream前,将它们转换为可打印的形式。经常用于某些不方便捕获异常的位置插入调试和跟踪代码。