当前位置: 首页 > 文档资料 > Java 函数速查 >

IDataStream 界面

优质
小牛编辑
123浏览
2023-12-01

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

方法改变该缺省值。