IDataStream 界面
IDataStream界面
表示了一个允许以各种格式进行读写操作的数据流。
IByteStream | +-- IDataStream
package com.ms.wfc.io
public interface IDataStream
extends IByteStream
说明
该界面是IByteStream界面的扩展。
请参阅:BufferedStream, DataStream, File , MemeoryStream
方法
IDataStream.getComStream
检取该数据流的与COM兼容的IStream对象。
语法
public IStream getComStream ()
返回值
返回代表该数据流的IStream。
说明
所返回的IStream对象与该数据流的当前的指针位置和长度都相同。二者在后续的操作中都保持同步。
请参阅:com.ms.com.IStream
IDataStream.readBoolean
从数据流中读取单个字节。
语法
public boolean readBoolean ()
返回值
如果字节非0,就返回true,否则,如果字节是0,就返回false。
异常
如果I/O错误或者数据流不支持读操作,就产生IOException异常。如果数据流到达末尾,就产生EOFException异常。
说明
数据流当前的指针位置向前移动一个字节。
请参阅:writeBoolean
IDataStream.readByte
从数据流中读取一个字节。
语法
public byte readByte()
返回值
返回所读取的字节。
异常
如果I/O错误或者数据流不支持读操作,就产生IOException异常。如果数据流到达末尾,就产生EOFException异常。
说明
数据流当前的指针位置向前移动一个字节。
请参阅:writebyte
IDataStream.readBytes
从数据流中读取指定数量的字节数放入一个字节矩阵中。
语法
public byte[] readBytes( int count )
public void readBytes ( byte[] buffer, int index, int count )
参数
count
要读取的字节数。buffer保存读取数据的矩阵。
index
矩阵中开始位置的索引。
返回值
返回包含所读取字节的字节矩阵。
异常
如果I/O错误或者数据流不支持读操作,就产生IOException异常。如果在读取数据时到达数据流的末尾,就产生EOFException异常。
说明
数据流当前的指针位置向前移动count字节。
请参阅:IByteStream,read, readToEnd, writeBytes
IDataStream.readChar
从数据流中读取一个字符。
语法
public char readChar()
返回值
返回所读取的字符。
异常
如果I/O错误或者数据流不支持读操作,就产生IOException异常。
如果在读取两个字节之前就到达数据流的末尾,就产生EOFException异常。
说明
数据流当前的指针位置向前移动两个字节。
请参阅:writeChar
IDataStream.readChars
从数据流中读取指定数量的字符数放入一个字符矩阵中。
语法
public char[] readChars( int count )
public void readChars ( char [] buffer, int index, int count )
参数
count
要读取的字符数。
buffer
保存读取数据的矩阵。
index
矩阵中开始位置的索引。
返回值
返回包含所读取字符的字符矩阵。
说明
数据流当前的指针位置向前移动count*2字节。
异常
如果I/O错误或者数据流不支持读操作,就产生IOException异常。如果在读取数据时到达数据流的末尾,就产生EOFException异常。
请参阅:writeChars
IDataStream.readDouble
从数据流中读取一个double值。
语法
public double readDouble()
返回值
返回所读取的double值。
异常
如果I/O错误或者数据流不支持读操作,就产生IOException异常。
如果在读取8个字节之前就到达数据流的末尾,就产生EOFException异常。
说明
数据流当前的指针位置向前移动8个字节。
请参阅:writeDouble
IDataStream.readDoubles
从数据流中读取指定数量的double值放入一个double矩阵中。
语法
public double[] readDoubles( int count )
public void readDoubles ( double[] buffer, int index, int count )
参数
count
要读取double值的数量。
buffer
保存读取数据的矩阵。
index
矩阵中开始位置的索引。
返回值
返回包含所读取数据的double矩阵。
异常
如果I/O错误或者数据流不支持读操作,就产生IOException异常。如果在读取数据时到达数据流的末尾,就产生EOFException异常。
说明
数据流当前的指针位置向前移动count*8字节。
请参阅:writeDoubles
IDataStream.readFloat
从数据流中读取一个float值。
语法
public float readFloat()
返回值
返回所读取的float值。异常如果I/O错误或者数据流不支持读操作,就产生IOException异常。
如果在读取4个字节之前就到达数据流的末尾,就产生EOFException异常。
说明
数据流当前的指针位置向前移动4个字节。
请参阅:writeFloat
IDataStream.readFloats
从数据流中读取指定数量的float值放入一个float矩阵中。
语法
public float[] readFloats( int count )
public void readFloats ( float[] buffer, int index, int count )
参数
count
要读取float值的数量。
buffer
保存读取数据的矩阵。
index
矩阵中开始位置的索引。
返回值
返回包含所读取数据的float矩阵。
异常
如果I/O错误或者数据流不支持读操作,就产生IOException异常。如果在读取数据时到达数据流的末尾,就产生EOFException异常。
说明
数据流当前的指针位置向前移动count*4字节。
请参阅:writeFloats
IDataStream.readInt
从数据流中读取一个整数。
语法
public int readInt()
返回值
返回所读取的整数值。
异常
如果I/O错误或者数据流不支持读操作,就产生IOException异常。
如果在读取4个字节之前就到达数据流的末尾,就产生EOFException异常。
说明
数据流当前的指针位置向前移动4个字节。
请参阅:writeInt
IDataStream.readInts
从数据流中读取指定数量的整数值放入一个整数矩阵中。
语法
public int[] readInts( int count )
public void readInts ( int[] buffer, int index, int count )
参数
count
要读取整数值的数量。
buffer
保存读取数据的矩阵。
index
矩阵中开始位置的索引。
返回值
返回包含所读取数据的整数矩阵。
异常
如果I/O错误或者数据流不支持读操作,就产生IOException异常。如果在读取数据时到达数据流的末尾,就产生EOFException异常。
说明
数据流当前的指针位置向前移动count*4字节。
请参阅:writeInts
IDataStream.readLong
从数据流中读取一个long值。
语法
public long readLong()
返回值
返回所读取的long值。
异常
如果I/O错误或者数据流不支持读操作,就产生IOException异常。
如果在读取8个字节之前就到达数据流的末尾,就产生EOFException异常。
说明
数据流当前的指针位置向前移动8个字节。
请参阅:writeLong
IDataStream.readLongs
从数据流中读取指定数量的long值放入一个long矩阵中。
语法
public long[] readLongs( int count )
public void readLongs ( long[] buffer, int index, int count )
参数
count
要读取长整数的数量。buffer保存读取数据的矩阵。
index
矩阵中开始位置的索引。
返回值
返回包含所读取数据的长整数矩阵。
异常
如果I/O错误或者数据流不支持读操作,就产生IOException异常。
如果在读取数据时到达数据流的末尾,就产生EOFException异常。
说明
数据流当前的指针位置向前移动count*8字节。
请参阅:writelongs
IDataStream.readShort
从数据流中读取一个short值。
语法
public short readShort()
返回值
返回所读取的short值。
异常
如果I/O错误或者数据流不支持读操作,就产生IOException异常。
如果在读取两个字节之前就到达数据流的末尾,就产生EOFException异常。
说明
数据流当前的指针位置向前移动两个字节。
请参阅:writeShort
IDataStream.readShorts
从数据流中读取指定数量的短整数值放入一个短整数矩阵中。
语法
public short[] readShorts( int count )
public void readShorts ( short[] buffer, int index, int count )
参数
count
要读取短整数的数量。
buffer
保存读取数据的矩阵。
index
矩阵中开始位置的索引。
返回值
返回包含所读取数据的短整数矩阵。
异常
如果I/O错误或者数据流不支持读操作,就产生IOException异常。
如果在读取数据时到达数据流的末尾,就产生EOFException异常。
说明
数据流当前的指针位置向前移动count*2字节。
请参阅:writeShorts
IDataStream.readString
从数据流中读取预定长单一码字符串。
语法
public String readString()
返回值
返回所读取的字符串。
异常
如果I/O错误或者数据流不支持读操作,就产生IOException异常。
如果在读取字符串时到达了数据流的末尾,就产生EOFException异常。
说明
该方法先以32位无符号整数的形式读取字符串长度,然后将这么多的16位单一码字符读入字符串中。
请参阅:writeString
IDataStream.readStringChars
从数据流中读取单一码字符串。
语法
public String readStringChars( int length )
参数
length
要读取的字符数。
返回值
返回所读取的字符串。
异常如果I/O错误或者数据流不支持读操作,就产生IOException异常。
如果在读取字符串时到达了数据流的末尾,就产生EOFException异常。
说明
该方法先从数据流读取length长的16位单一码字符,然后返回包含这些字符的字符串。
请参阅:writeStringChars
IDataStream.readStringCharsAnsi
从数据流中读取ANSI字符串。
语法
public String readStringCharsAnsi( int length )
参数
length
要读取的字符数。
返回值
返回所读取的字符串。
异常
如果I/O错误或者数据流不支持读操作,就产生IOException异常。
如果在读取字符串时到达了数据流的末尾,就产生EOFException异常。
说明
该方法先从数据流读取length个字节,然后使用系统缺省代码页将其转换为单一码字符串。结果字符串的长度是代码页的函数,可能比从数据流中读取的字节数小。
请参阅:writeStringCharsAnsi
IDataStream.readStringNull
从数据流中读取以null结尾的单一码字符串。
语法
public String readStringNull( )
返回值
返回所读取的字符串。
异常
如果I/O错误或者数据流不支持读操作,就产生IOException异常。
如果在读取字符串时到达了数据流的末尾,就产生EOFException异常。
说明
该方法不断地从数据流中读取16位的单一码字符,直到遇到一个空字符。所读取的字符(不包括用于结尾的空字符)然后就转换为字符串。
请参阅:writeStringNull
IDataStream.readStringNullAnsi
从数据流中读取以null结尾的ANSI字符串。
语法
public String readStringNullAnsi( )
返回值
返回所读取的字符串。
异常如果I/O错误或者数据流不支持读操作,就产生IOException异常。
如果在读取字符串时到达了数据流的末尾,就产生EOFException异常。
说明
该方法不断地从数据流中读取字节,直到遇到一个空字节。所读取的字节(不包括用于结尾的空字节)然后就转换为字符串。
请参阅:writeStringNullAnsi
IDataStream.readToEnd
将当前指针位置处直到数据流末尾的数据都读入一个字节矩阵中。
语法
public byte[] readToEnd ()
返回值
返回包含所读取数据的字节矩阵。
异常
如果I/O错误或者数据流不支持读操作,就产生IOException异常。
说明
如果当前的指针就在数据流的开头,则就等同于将所有的数据都读出到一个字节矩阵。如果当前操作成功完成,当前的指针就指向数据流的末尾。
请参阅:IByteStream.read, readBytes
IDataStream.readUTF
使用预定长度UTF-8格式从数据流中读取字符串。
语法
public String readUTF()
返回值
返回所读取的字符串。
异常
如果I/O错误或者数据流不支持读操作,就产生IOException异常。
如果在读取字符串时到达了数据流的末尾,就产生EOFException异常。
说明
UTF编码的字符串通常比单一码能更有效地利用空间,但处理起来也更费时间。
请参阅:writeUTF
IDataStream.writeBoolean
将boolean值写入数据流中。
语法
public void writeBoolean ( boolean value )
参数
value
要写入的boolean值。
异常
如果出现I/O错误或者数据流不支持写入操作,就产生IOException异常。
说明
向数据流写入一个字节,0代表false,1代表true。
请参阅:readBoolean
IDataStream.writeByte
将一个字节写入数据流中。
语法
public void writeByte (byte value )
参数
value
要写入的字节。
异常
如果出现I/O错误或者数据流不支持写入操作,就产生IOException异常。
说明
当前的指针向前移动一个字节。
请参阅:readBytes
IDataStream.writeBytes
将指定字节矩阵的内容写入数据流中。
语法
public void writeBytes ( byte[] buffer )
参数
buffer
包含要写入数据的矩阵。
异常
如果出现I/O错误或者数据流不支持写入操作,就产生IOException异常。
请参阅:IByteStream.write, readBytes
IDataStream.writeChar
将一个字符写入数据流中。
语法
public void writeChar (char value )
参数
value
要写入的字符。
异常
如果出现I/O错误或者数据流不支持写入操作,就产生IOException异常。
说明
当前的指针向前移动两个字节。
请参阅:readChars
IDataStream.writeChars
将指定字符矩阵的内容写入数据流中。
语法
public void writeChars ( char[] buffer )
public void writeChars ( char[] buffer, int index, int count )
参数
buffer
包含要写入数据的矩阵。
index
矩阵开始位置的索引。
count
要写入字符的数量。
异常
如果出现I/O错误或者数据流不支持写入操作,就产生IOException异常。
说明
写入数据流的字节数是buffer.length*2。当前指针位置向前移动count*8个字节。
请参阅:readChars
IDataStream.writeDouble
将一个double值写入数据流中。
语法
public void writeDouble (double value )
参数
value
要写入的double值。
异常
如果出现I/O错误或者数据流不支持写入操作,就产生IOException异常。
说明
当前的指针向前移动8个字节。
请参阅:readDouble
IDataStream.writeDoubles
将指定double矩阵的内容写入数据流中。
语法
public void writeDoubles ( double[] buffer )
public void writeDoubles ( double[] buffer, int index, int count )
参数
buffer
包含要写入数据的矩阵。
index
矩阵开始位置的索引。
count
要写入双精度数值的数量。
异常
如果出现I/O错误或者数据流不支持写入操作,就产生IOException异常。
说明
写入数据流的字节数是buffer.length*8。当前指针位置向前移动count*8个字节。
请参阅:readDoubles
IDataStream.writeFloat
将一个float值写入数据流中。
语法
public void writeFloat (float value )
参数
value
要写入的float值。
异常
如果出现I/O错误或者数据流不支持写入操作,就产生IOException异常。
说明
当前的指针向前移动4个字节。
请参阅:readFloat
IDataStream.writeFloats
将指定float矩阵的内容写入数据流中。
语法
public void writeFloats ( float[] buffer )
public void writeFloats ( float[] buffer, int index, int count )
参数
buffer
包含要写入数据的矩阵。
index
矩阵开始位置的索引。
count
要写入浮点数的数量。
异常
如果出现I/O错误或者数据流不支持写入操作,就产生IOException异常。
说明
写入数据流的字节数是buffer.length*4。当前指针位置向前移动count*4个字节。
请参阅:readFloats
IDataStream.writeInt
将一个整数写入数据流中。
语法
public void writeInt (int value )
参数
value
要写入的整数。
异常
如果出现I/O错误或者数据流不支持写入操作,就产生IOException异常。
说明
当前的指针向前移动4个字节。
请参阅:readInts
IDataStream.writeInts
将指定整数矩阵的内容写入数据流中。
语法
public void writeInts ( int[] buffer )
public void writeInts ( int[] buffer, int index, int count )
参数
buffer
包含要写入数据的矩阵。
index
矩阵开始位置的索引。
count
要写入整数的数量。
异常
如果出现I/O错误或者数据流不支持写入操作,就产生IOException异常。
说明
写入数据流的字节数是buffer.length*4。当前指针位置向前移动count*4个字节。
请参阅:readInts
IDataStream.writeLong
将一个长整数写入数据流中。
语法
public void writeLong (long value )
参数
value
要写入的长整数。
异常
如果出现I/O错误或者数据流不支持写入操作,就产生IOException异常。
说明
当前的指针向前移动8个字节。
请参阅:readLong
IDataStream.writeLongs
将指定长整数矩阵的内容写入数据流中。
语法
public void writeLongs ( long[] buffer )
public void writeLongs ( long[] buffer, int index, int count )
参数
buffer
包含要写入数据的矩阵。
index
矩阵开始位置的索引。
count
要写入长整数的数量。
异常
如果出现I/O错误或者数据流不支持写入操作,就产生IOException异常。
说明
写入数据流的字节数是buffer.length*8。当前指针位置向前移动count*8个字节。
请参阅:readLongs
IDataStream.writeShort
将一个短整数写入数据流中。
语法
public void writeShort (short value )
参数
value
要写入的短整数。
异常
如果出现I/O错误或者数据流不支持写入操作,就产生IOException异常。
说明
当前的指针向前移动两个字节。
请参阅:readShort
IDataStream.writeShorts
将指定短整数矩阵的内容写入数据流中。
语法
public void writeShorts ( short[] buffer )
public void writeShorts ( short[] buffer, int index, int count )
参数
buffer
包含要写入数据的矩阵。
index
矩阵开始位置的索引。
count
要写入短整数的数量。
异常
如果出现I/O错误或者数据流不支持写入操作,就产生IOException异常。
说明
写入数据流的字节数是buffer.length*2。当前指针位置向前移动count*2个字节。
请参阅:readShorts
IDataStream.writeString
将预定长单一码字符串写入数据流中。
语法
public void writeString ( String value )
参数
value
要写入的字符串值。
异常
如果出现I/O错误或者数据流不支持写入操作,就产生IOException异常。
说明
该方法先以32位无符号整数的形式写入字符串长度,然后将这么多的16位单一码字符写入字符串中。
请参阅:readString
IDataStream.writeStringChars
向数据流中写入单一码字符串。
语法
public void writeStringChars( String value )
参数
value
要写入的字符串值。
异常
如果I/O错误或者数据流不支持写操作,就产生IOException异常。
说明
写入数据流中的单一码字符的数量与字符串的长度相对应。
请参阅:readStringChars
IDataStream.writeStringCharsAnsi
向数据流中写入ANSI字符串。
语法
public void writeStringCharsAnsi( String value )
参数
value
要写入的字符串值。
异常
如果I/O错误或者数据流不支持写入操作,就产生IOException异常。
说明
先使用系统缺省的代码页将指定的字符串转换为字节序列。然后将这些字节写入数据流中。写入数据流的字节数是代码页的函数,有可能比字符串的长度大。
请参阅:readStringCharsAnsi
IDataStream.writeStringNull
向数据流中写入以null结尾的单一码字符串。
语法
public void writeStringNull( String value )
参数
value
要写入的字符串。
说明
字符串中的字符以16位单一码字符的格式写入数据流中,最后加上一个null字符。
异常
如果I/O错误或者数据流不支持写入操作,就产生IOException异常。
请参阅:readStringNull
IDataStream.writeStringNullAnsi
向数据流中写入以null结尾的ANSI字符串。
语法
public void writeStringNullAnsi( String value )
参数
value
要写入的字符串值。
异常
如果I/O错误或者数据流不支持写入操作,就产生IOException异常。
说明
指定的字符串先用系统缺省的代码页转换为字节序列。然后再写入数据流中,最后加上null字节。
请参阅:readStringNullAnsi
IDataStream.writeUTF
使用预定长度UTF-8格式向数据流中写入字符串。
语法
public void writeUTF( String value )
参数
value
要写入的字符串值。
异常
如果I/O错误或者数据流不支持写操作,就产生IOException异常。
说明
UTF编码的字符串通常比单一码能更有效地利用空间,但处理起来也更费时间。
请参阅:readUTF
IOException类
表示输出/输入异常。
WFCException | +-- IOExce
ption
package com.ms.wfc.io
public class IOException
extends WFCException
说明
这是com.ms.wfc.io包中类的方法所产生异常的基本异常类。
构造器
IOException.IOException
创建一个IOException对象。
语法
public IOException ()
public IOException ( String s )
参数
s
描述异常信息的文本。
IReader界面
定义一个可以读取序列字符流的界面。
package com.ms.wfc.io
public interface IReader
说明
Reader类提供了该界面的缺省实现。
方法
IReader.close
关闭该Reader类并释放所有与读者关联的系统资源。
语法
public void close ()
IReader.peek
检取下一个可获得的字符而不是真正地从字符流中读取该字符。
语法
public int peek()
返回值
返回下一个要读取的字符,如果没有其他字符了,就返回-1。
IReader.read
从输入流中读取下一个字符。
语法
public int read ()
public int read ( char[] buffer, int index, int count )
参数
buffer
保存读入数据的字符矩阵。
index
缓冲区起始位置索引。
count
要读入的字符数。
返回值
第一个方法从输入流中返回下一个字符,如果没有额外的字符,就返回-1。第二个方法返回所有读入矩阵中的字符。可能比要求读出的少,因为可能没有那么多的字符,也可能是0,如果碰到输入流末尾的话。
IReader.readLine
读入一行。
语法
public String readLine ()
返回值
返回一行。该字符串不包含终止回车键和/或换行符。如果到达输入流的末尾,就返回null。
说明
一行定义为以回车键(\r)、换行符(\n)或换行符后跟回车键为结尾的字符序列。
IWriter界面
代表可写入序列字符流的作者。
package com.ms.wfc.io
public interface IWriter
说明
Writer类提供了该界面的缺省实现。
方法
IWriter.close
关闭该Writer对象,并释放所有与该作者关联的系统资源。
语法
public void close()
IWriter.flush
清除Writer对象的缓冲区,将所有缓冲的数据都写入底层设备。
语法
public void flush ()
IWriter.write
将指定内容写入文本数据流。
语法
public void write ( char value )
public void write ( char[] buffer )
public void write ( char[] buffer, int index ,int count )
public void write ( boolean b_value )
public void write ( int i_value )
public void write ( long l_value )
public void write ( float f_value )
public void write ( double d_value )
public void write ( String s_value )
public void write ( Object o_value )
参数
value
要写入文本数据流的字符。
buffer
要写入文本数据流的字符矩阵。
index
缓冲区起始位置索引。
count
要写入的字符数。
b_value
要写入的boolean值。
i_value
要写入的整数。
i_value的值是调用Integer.toString( int )方法所产生的。l_value
要写入的long值。l_value的值是调用Long.toString ( long)方法所产生的。
f_value
要写入的float值。f_value的值是调用Float.toString( float )方法所产生的。
d_value
要写入的double值。d_value的值是调用Double.toString( double )方法所产生的。
s_value
要写入的字符串。如果字符串是null,就不写入任何内容。
o_value
要写入的对象。
IWriter.writeLine
将指定的内容写入文本数据流,后跟一个行终止符。
语法
public void writeLine()
public void writeLine( char value )
public void writeLine ( char[] buffer )
public void writeLine ( char[] buffer, int index ,int count )
public void writeLine ( boolean b_value )
public void writeLine ( int i_value )
public void writeLine ( long l_value )
public void writeLine ( float f_value )
public void writeLine ( double d_value )
public void writeLine ( String s_value )
public void writeLine ( Object o_value )
参数
value
要写入文本数据流的字符。
buffer
要写入文本数据流的字符矩阵。
index
缓冲区起始位置索引。
count
要写入的字符数。
b_value
要写入的boolean值。
i_value
要写入的整数。
l_value
要写入的long值。
f_value
要写入的float值。
d_value
要写入的double值。
s_value
要写入的字符串。
o_value
要写入的对象。
MemoryStream类
在内存中实现一个数据流。
DataStream | +-- MemoryStream
package com.ms.wfc.io
public class MemoryStream
extends DataStream
构造器
MemoryStream.MemoryStream
创建一个MemoryStream对象。
语法
public MemoryStream ()
public MemoryStream( int capacity )
public MemoryStream ( byte[] buffer )
public MemoryStream ( byte[] buffer, int offset, int length )
public MemoryStream ( IByteStream stream, int length )
public MemoryStream (IStream stream, int length )
pubilc MemoryStream ( java.io.InputStream stream )
参数
capacity
数据流的大小。
buffer
原子类型矩阵。
offset
缓冲区偏移量字节数。
length
缓冲区长度,以字节数表示。
stream
要操作的数据流。
方法
MemoryStream.getCapacity
检取数据流当前的大小。
语法
public int getCapacity ()
返回值
返回数据流当前的大小。
MemoryStream.getLength
检取数据流的长度,以字节数表示。
语法
public long getLength ()
返回值
返回数据流当前的长度。
MemoryStream.getPosition
检取数据流的指针位置。
语法
public long getPosition ()
返回值
返回数据流当前的指针位置。
MemoryStream.read
从数据流中读取下一个字节的数据。
语法
public int read()
返回值
返回从数据流中读取的数据。
MemoryStream.readByte
从数据流中读取一个字节。
语法
public byte readByte()
返回值
返回从数据流中所读取的字节。
MemoryStream.readChar
从数据流中读取一个字符。
语法
public char readChar ()
返回值
从数据流中返回一个字符。
MemoryStream.readCore
实现核心矩阵读取方法。
语法
protected int readCore ( Object array, int offset, int count )
参数
array
要读入的原子类型矩阵。
offset矩阵偏移量字节数。
count
要读取的字节数。
返回值
返回所读取的数据矩阵。
覆盖:DataStream.readCore
MemoryStream.readInt
从数据流中读取一个整数。
语法
public int readInt()
返回值
返回从数据流中读取的整数。
MemoryStream.readShort
从数据流中读取一个short值。
语法
public short readShort ()
返回值
返回所读取的short值。
MemoryStream.readStringCharsAnsi
从数据流中读取ANSI字符串。
语法
public String readStringCharsAnsi ( int length )
参数
length
缓冲区的长度,以字节数表示。
返回值
返回所读取的字符串。
MemoryStream.readStringNull
从数据流中读取以null结尾的单一码字符串。
语法
public String readStringNull()
返回值
返回所读取的字符串。
MemoryStream.readStringNullAnsi
从数据流中读取以null结尾的ANSI字符串。
语法
public String readStringNullAnsi ()
返回值
返回所读取的字符串。
MemoryStream.reset
清除数据流缓冲区。
语法
public void reset()
MemoryStream.setLength
设置数据流的长度。
语法
public void setLength ( long length )
参数
length
数据流新的长度。
MemoryStream.setPosition
设置数据流指针位置。
语法
public void setPosition ( long value )
参数
value
数据流指针新的位置。
MemoryStream.toByteArray
将SafeArray数据结构转换为Java矩阵。位置是索引0。
语法
public byte[] toByteArray ()
返回值
返回变换后的矩阵内容。
MemoryStream.write
将单个字节的数据写入数据流中。
语法
public void write ( int value )
参数
value
要写入的数值。
MemoryStream.writeByte
将一个字节写入数据流。
语法
public void writeByte ( byte value )
参数
value
要写入的数值。
MemoryStream.writeChar
将一个字符写入数据流中。
语法
public void writeChar ( char value )
参数
value
要写入的数值。
MemoryStream.writeCore
实现核心矩阵写入方法。
语法
protected void writeCore ( Ojbect array , int offset, int count )
参数
array
要写入的原子类型矩阵。
offset
array偏移量字节数。
count
要写入array中的字节数。
覆盖:DataStream.writeCore
MemoryStream.writeInt
将一个整数写入数据流中。
语法
public void writeInt ( int value )
参数
value
要写入的数值。
MemoryStream.writeShort
将一个short值写入数据流中。
语法
public void writeShort( short value )
参数
value
要写入的值。
MemoryStream.writeTo
将数据流的内容写入指定的输出流。
语法
public void writeTo ( IByteStream stream )
public void writeTo ( IStream stream )
参数
stream
要写入的数据流。
Reader类
代表一个可以从序列字符流中读取数据的读者。
package com.ms.wfc.io
public abstract class Reader
implements IReader
说明
Reader类是一个抽象基类。其子类必须至少实现peek和read方法。
请参阅:StringReader, Text, TextReader, Writer
方法
Reader.close
关闭Reader对象并释放任何与读者相关联的系统资源。
语法
pubic void close ()
说明
调用close方法之后,再对Reader对象做任何操作都将产生异常。
缺省方法是空的,但子类可以覆盖该方法以提供正确的功能。
Reader.peek
从数据流中检取下一个可用的字符而并非真正地读取该字符。
语法
public int peek ()
返回值
返回下一个要读取的字符或如果没有另外可用字符时就返回-1。
说明
该操作符并没有改变Reader对象的当前指针位置。缺省方法返回-1。
Reader.read
从输入流中读取下一个字符。
语法
public int read ()
public int read (char[] buffer, int index, int count )
参数
buffer
保存读入数据的字符矩阵。
index
缓冲区中起始位置索引。
count
要读取的字符数量。
返回值
从输入流中返回下一个字符,或若没有另外的可用字符时就返回-1。第二个
方法返回读入到缓冲区中的字符总数。这可能比要求读出的字符数少,因为可能当前并没有那么多的字符可用,也可能为0,如果已经碰到了输入流的末尾。
异常
如果I/O出现错误或如果数据流不支持读操作就产生IOException。如果缓冲区是null,索引超出范围或数量超出范围,就产生WFCInvalidArgument- Exception异常。
说明
第二种方法从Reader对象中读取count个字符放入buffer矩阵中以index开始的位置上。
Reader.readLine
读取一行。
语法
public String readLine ()
返回值
从输入流中返回下一行,如果已经到达输入流的末尾,就返回null。
说明
一行定义为以回车键(\r)、换行符(\n)或者回车键后跟换行符结尾的字符序列。结果字符串不包括结尾终止符如回车键和/或换行符。
StringReader类
实现一个读取字符串的读者。
Reader | +-- StringReader
package com.ms.wfc.io
public class StringReader
extends Reader
请参阅:Reader, StringWriter
构造器
StringReader.StringReader
创建一个StringReader对象。
语法
public StringReader ( String s )
参数
s
要读取的字符串。
方法
StringReader.close
关闭StringReader对象。
语法
public void close ()
说明
在调用该方法之后,字符串读者将不再有任何的字符。
覆盖:Reader.close
StringReader.peek
检取下一个可用的字符而并不真正地读取底层字符串的字符。
语法
public int peek ()
返回值
返回要读取的下一个字符,如果没有其他字符,就返回-1。
说明
TextReader对象的当前指针位置并不发生改变。
覆盖:Reader.peek
StringReader.read
从底层的字符串中读取下一个字符。
语法
public int read()
public int read ( char[] buffer, int index, int count )
参数
buffer
保存读取数据的字符矩阵。
index
缓冲区起始位置的索引。
count
要读取的字符数。
返回值
从底层的字符串中读取下一个字符,如果没有其他字符,就返回-1。第二种方法返回所读取缓冲区中的字符数。这可能比要求读取的数值少,因为可能没有那么多的字符,也可能是0,如果已经到达字符串的末尾。
异常
如果缓冲区是null,索引超出范围或数量超出范围,就产生WFCInvalidArgument- Exception异常。
说明
该方法从TextReader中读取count个字符放入buffer字符矩阵从index位置开始处。返回实际所读取的字符数。
覆盖:Reader.read
StringReader.readLine
读取一行。
语法
public String readLine()
返回值
从底层的字符串中读取下一行,如果已经达到字符串的末尾,就返回-1。
说明
一行定义为以回车键(\r)、换行符(\n)或者回车键后跟换行符结尾的字符序列。结果字符串不包括结尾终止符如回车键和/或换行符。
覆盖:Reader.readLine
StringWriter类
实现了一个写字符串缓冲区的作者,允许将字符序列结果表示为字符串。
Writer | +-- StringWriter
package com.ms.wfc.io
public class StringWriter
extends Writer
请参阅:StringReader, Writer
构造器
StringWriter.StringWriter
创建一个StringWriter对象。
语法
public StringWriter ()
public StringWriter( StringBuffer sb )
参数
sb
与字符串作者关联的java.lang.StringBuffer对象。如果没有指定字符串缓冲区,就自动创建一个StringBuffer对象并与该字符串作者关联起来。
方法
StringWriter.getStringBuffer
检取底层的StringBuffer对象。
语法
public StringBuffer getStringBuffer ()
返回值
返回底层字符串缓冲区。可以是传递给构造器的StringBuffer对象,也可能是自动创建的StringBuffer对象。
StringWriter.toString
检取包含写入StringWriter对象字符的字符串。
语法
public String toString()
返回值
返回包含写入StringWriter对象字符的字符串。
StringWriter.write
将一个字符写入底层的字符串缓冲区。
语法
public void write ( char value )
public void write ( char[] buffer, int index, int count )
public void write ( String value )
参数
value
要写入的字符或字符串。如果是null,就什么也不写入。
buffer
保存要写入数据的字符矩阵。
index
缓冲区起始位置索引。
count
要写入的字符数。
异常
如果缓冲区是null,索引超出范围或数量超出范围,就产生WFCInvalidArgument- Exeption异常。
说明
第二种方法将buffer字符矩阵index位置开始的count个字符写入StringWriter。
覆盖:Writer.write
Text类
提供了表示一个进程标准的输入、输出和错误文件的字段。
package com.ms.wfc.io
public final class Text
说明
该类用于低级的系统输入和输出,例如:
Text.out.writeLine ( 揹ebug?
与
system.out.println(揹ebug?
是一样的。
请参阅:TextReader, TextWriter
字段
Text.err
指明标准错误。
语法
public static final TextWriter err;
Text.in
指明标准输入。
语法
public static final TextWriter in;
Text.out
指明标准输出。
语法
public static final TextWriter out;
TextReader类
实现了可以从IByteStream对象或命名文件中读取序列字符流的读者。
Reader | +-- TextReader
package com.ms.wfc.io
public class TextReader
extends Reader
说明
该类执行输入缓冲,并将底层的单字节或双字节字符集转换为单一码。
请参阅:StringReader, Text, TextWriter
构造器
TextReader.TextReader
创建一个TextReader对象。
语法
public TextReader ( IByteStream stream )
public TextReader ( IByteStream stream, int codePage )
public TextReader ( IByteStream stream, int codePage, intbufferSize )
public TextReader ( String path )
public TextReader ( String path, int codePage )
public TextReader ( String path, int codePage, int bufferSize )
参数
stream
要从中读取数据的IByteStream。
codePage
在将输入字符转换为单一码时所使用的代码页。该参数必须是CodePage枚举类中的一个值或者系统所支持的代码页标识符。如果没有指明代码页,就使用ANSI代码页。
bufferSize
输入缓冲区大小,以字符数表示。如果没有为该参数指明参数值,缓冲区大小就设置为1024个字符长。
path
要打开现有文件的名字。
方法
TextReader.close
关闭TextReader对象以及底层的IByteStream对象。
语法
public void close()
说明
调用了close方法之后,任何对TextReader对象的操作都将产生异常。
覆盖:Reader.close
TextReader.getStream
检取TextReader对象底层的数据流。
语法
public IByteStream getStream ()
返回值
返回传递给构造器的数据流或者在构建TextReader对象时自动创建的File对象。
TextReader.peek
检取下一个可用的字符,而并不从数据流中真正读取该字符。
语法
public int peek ()
返回值
返回下一个要读取的字符,如果没有其他字符,就返回-1。
说明
该操作并不改变TextReader当前的指针位置。
覆盖:Reader.peek
TextReader.read
从输入数据流中读取下一个字符。
语法
public int read ()
public int read ( char [] buffer, int index, int count )
参数
buffer
保存读入数据的字符矩阵。
index
缓冲区起始位置的索引。
count
要读入的字符数。
返回值
从输入数据流中读取下一个字符,如果没有其他字符就返回-1。第二种
方法返回所读出的字符总数。这可能比所要求读取的少,因为可能没有那么多的字符,也可能是0,如果已经碰到了输入流的末尾。
说明
第二种方法从TextReader中index起始位置处读取count个字符放入buffer字符矩阵。返回实际所读取的字符数。
覆盖:Reader.read
TextReader.readLine
读取一行。
语法
public String readLine ()
返回值
从输入流中返回一行,或者如果到达输入流的末尾就返回-1。
说明
一行定义为以回车键(\r)、换行符(\n)或者回车键后跟换行符结尾的字符序列。结果字符串不包括结尾终止符如回车键和/或换行符。
覆盖:Reader.readLine
TextWriter类
实现可以向IByteStream对象或命名文件写入序列字符流的作者。
Writer | +-- TextWriter
package com.ms.wfc.io
public class TextWriter
extends Writer
说明
该类执行输出缓冲操作,并将单一码转换为底层的单字节或双字节字符集。
请参阅:StringWriter, Text , TextReader
构造器
TextWriter.TextWriter
创建一个TextWriter对象。
语法
public TextWriter ( IByteStream stream )
public TextWriter ( IByteStream stream, int codePage )
public TextWriter ( IByteStream stream, int codePage, int bufferSize )
public TextWriter ( String path )
public TextWriter ( String path, int codePage )
public TextWriter ( String path, int codePage, int bufferSize )
参数
stream
要写入数据的IByteStream对象。
codePage
在将单一码字符转换为输出字符时所使用的代码页。该参数必须是CodePage枚举类中的值或者是系统所支持代码页的标识符。
bufferSize
输出缓冲区大小,以字符数表示。如果没有指定该参数的数值,缓冲区的大小就设置为1024个字符长。
path
要创建文件的名字。
方法
TextWriter.close
关闭TextWriter对象以及底层的IByteStream对象。
语法
public void close()
说明
调用该方法之后,任何对TextWriter对象的操作都将产生异常。
覆盖:Writer.close
TextWriter.flush
清除TextWriter对象的输出缓冲区,将缓冲的数据都写入底层的IByteStream对象。
语法
public void flush ()
说明
如果TextWriter对象的autoFlush属性设置为true,则在每次写操作之后都将自动调用flush方法。
覆盖:Write.flush
请参阅:setAutoFlush
TextWriter.getAutoFlush
检取一个boolean值,指明写操作是否自动将缓冲数据写入底层的IByteStream对象。
语法
public boolean getAutoFlush ()
返回值
如果写操作自动将缓冲数据写入IByteStream对象,就返回true;否则,就返回false。
请参阅:setAutoFlush
TextWriter.getStream
检取TextWriter对象底层的数据流。
语法
public IByteStream getStream ()
返回值
返回TextWriter对象底层的数据流。
说明
返回传递给构造器的数据流或者在构造TextWriter对象时自动创建的File对象。
TextWriter.setAutoFlush
设置一个boolean值,指明输出字符时使能自动清除缓冲区操作。
语法
public void setAutoFlush ( boolean value )
参数
value
设置为true将使能自动清除缓冲区的操作;设置为false将禁止自动清除缓冲区操作。
说明
当使能自动清除缓冲区操作时,在每次写操作之后,输出数据都将自动写入底层的数据流。
请参阅:flush , getAutoFlush
TextWriter.write
将一个字符写入文本数据流。
语法
public void write ( char c_value )
public void write ( char[] buffer, int index, int count )
public void write ( String s_value )
参数
c_value
要写入文本数据流的字符。
buffer
保存写入数据的字符矩阵。
index缓冲区起始位置索引。
count
要写入的字符数。
s_value
要写入的字符串。
异常
如果缓冲区是null或索引超出范围或数量超出范围,就产生WFCInvalidArgu-mentException异常。
说明
使用第二种方法将buffer字符矩阵中index开始位置处的count字符写入该TextWriter对象。如果所指定的字符串是null,就不向文本数据流中写入任何东西。
覆盖:Write.write
WinIOException类
创建一个Windows 输入/输出(I/O)错误异常类。
IOException | +-- WinIOException
package com.ms.wfc.io
public class WinIOException
extends IOException
说明
该类用于汇报操作系统所产生的I/O错误。
构造器
WinIOException.WinIOException
根据操作系统最近出现的错误创建一个WinIOException对象。
语法
public WinIOException()
public WinIOException ( int errorCode )
public WinIOException ( int errorCode , String s )
参数
errorCode
错误代码。
s
当出现错误时要显示的文本信息。
说明
第一种方法调用com.ms.dll.DllLib.getLastWin32Error方法获取操作系统最近产生的错误代码并根据该错误代码构建一条错误消息。如果你使用J/Direct调用Windows API函数,而且该函数汇报一个错误,你就可以使用该构造器将错误转换为一个WinIOException异常。
第二种方法调用Utils.getSystemErrorMessage方法根据指定的错误代码构建一条错误消息。
方法
WinIOException.getErrorCode
检取与该异常关联的错误代码。
语法
public int getErrorCode ()
返回值
返回该异常的操作系统错误代码。
Writer类
表示可以写序列字符流的作者。
package com.ms.wfc.io
public abstract class Writer
implements IWriter
说明
Writer类是一个抽象类。其子类至少要实现write方法。
方法
Writer.close关闭该Writer对象并释放任何与该作者关联的系统资源。
语法
pubilc void close ()
说明
在调用close方法之后,再对Writer对象做任何操作都将产生异常。缺省方法是空的,但子类可以覆盖该方法以提供正确的功能。
Writer.flush清除Writer对象的缓冲区,将所缓冲的数据都写入底层的设备。
语法
public void flush ()
说明
缺省方法是空的,但子类可以覆盖该方法以提供正确的功能。
Writer.getNewLine检取该Writer对象所使用的行终止符字符串。
语法
public String getNewLine ()
返回值
返回行终止符字符串。
说明
缺省行终止符字符串是回车键之后跟有一个换行符(\r\n)。
请参阅:setNewLine
Writer.setNewLine
设置该Writer对象的行终止符字符串。
语法
public void setNewLine ( String value )
参数
value
行终止符字符串。
说明
每当调用writeLine方法时就将行终止符字符串写入文本数据流中。Reader对象要能读取Writer对象写入的文本,只需要使用下列行终止符之一: \r, \n或\r\n。
请参阅:getNewLine
Writer.writer
将指定的内容写入文本数据流。
语法
public void write ( char value )
public void write ( char[] buffer )
public void write ( char[] buffer, int index, int count )
public void write ( boolean b_value )
public void write ( int i_value )
public void write ( long l_value )
public void write ( float f_value )
public void write ( double d_value )
public void write ( String s_value )
public void write ( Object o_value )
参数
value
要写入文本数据流的字符。
buffer
要写入文本数据流的字符矩阵。
index
缓冲区起始位置索引。
count
要写入的字符数。
b_value
要写入的boolean值。
i_value
要写入的整数。i_value是调用Integer.toString(int)方法产生的。
l_value
要写入的long值。l_value是调用Long.toString(long)方法产生的。
f_value
要写入的float值。f_value是调用Float.toString( float )方法产生的。
d_value
要写入的double值。d_value是调用Double.toString( double)方法产生的。
s_value
要写入的字符串。如果指定字符串为null,就不向文本数据流写入任何内容。
o_value
要写入的对象。
说明
缺省方法是空的,但子类可以覆盖该方法以提供正确的功能。第二种方法为字符矩阵中的每个字符调用write(char)方法。如果字符矩阵是null,就不写入任何内容。第三种方法将buffer字符矩阵中index起始位置处的count个字符写入Writer对象中。第四种方法输出字符串“true”或“false”。
如果 o_value 是 null,则字符串“null”就写入文本数据流中。否则,调用该对象的 toString 方法生成字符串表示,并将得到的结果字符串写入输出数据流。
Writer.writerLine
将指定的内容写入文本数据流,后跟一个行终止符。
语法
public void writeLine()
public void writeLine ( char value )
public void writeLine ( char[] buffer )
public void writeLine ( char[] buffer, int index, int count)
public void writeLine ( boolean b_value )
public void writeLine ( int i_value )
public void writeLine ( long l_value )
public void writeLine ( float f_value )
public void writeLine ( double d_value )
public void writeLine ( String s_value )
public void writeLine ( Object o_value )
参数
value
要写入文本数据流的字符。
buffer
要写入文本数据流的字符矩阵。
index
缓冲区起始位置索引。
count
要写入的字符数。
b_value
要写入的boolean值。
i_value
要写入的整数。
l_value
要写入的long值。
f_value
要写入的float值。
d_value
要写入的double值。
s_value
要写入的字符串。
o_value
要写入的对象。
异常
如果缓冲区是null或索引超出范围或者数量超出范围,就产生WFCInvalidArgu-mentException异常。
说明
缺省行终止符是回车键后跟一个换行符(\r\n),但可以使用setNewLine
方法改变该缺省值。