%Library.FileCharacterStream
stream class %Library.FileCharacterStream extends %Library.CharacterStream, %Library.FileStreamAdaptor
Stream class that stores character data in external files. This class is deprecated in favor of %Stream.FileCharacter. For example the following code opens a file character stream, points it at a particular file on the filesystem and then reads it in line by line:Set stream=##class(%FileCharacterStream).%New() Set stream.Filename="c:\myfile.txt" While 'stream.AtEnd { Set line=stream.ReadLine() ; Process the line here }
Property Inventory
Method Inventory
Parameters
parameter OPENAPPEND = AWS;
parameter OPENREAD = RU;
parameter OPENREADTERM = RS;
parameter OPENWRITE = WSN;
Properties
property BOM as %String [ Transient ];
BOM characters that appear at start of file to signify which encoding it is using
Property methods: BOMDisplayToLogical(), BOMGet(), BOMIsValid(), BOMLogicalToDisplay(), BOMLogicalToOdbc(), BOMNormalize(), BOMSet()
property StreamFormatWrite as %Boolean [ InitialExpression = '$$$isVMS , Transient ];
The StreamFormatWrite property controls whether file output is in stream or undefined format.
If StreamFormatWrite is 1 (true), the default on Windows/Unix, the file is written in S (stream) format.
If StreamFormatWrite is 0 (false), the default on VMS, the file is written in U (Undefined) format.
For Unix file output, S format converts crlf to lf which can be a problem for MIME
output such as email. The user can now set messagepart.TextData.StreamFormatWrite=0
to keep crlf in text message parts of the mail message.
Property methods: StreamFormatWriteDisplayToLogical(), StreamFormatWriteGet(), StreamFormatWriteIsValid(), StreamFormatWriteLogicalToDisplay(), StreamFormatWriteNormalize(), StreamFormatWriteSet()
property TranslateTable as %String [ InitialExpression = "0" , Transient ];
The translation table to be used when reading or writing the file.
Initial value of 0 indicates that the table has not yet been set.
If translation table is set after the file has been opened then switch the table used for the file. If the translation table is set to "", then the "RAW" table is used.
Initial value of 0 indicates that the table has not yet been set.
If translation table is set after the file has been opened then switch the table used for the file. If the translation table is set to "", then the "RAW" table is used.
Property methods: TranslateTableDisplayToLogical(), TranslateTableGet(), TranslateTableIsValid(), TranslateTableLogicalToDisplay(), TranslateTableLogicalToOdbc(), TranslateTableNormalize()
Methods
method %Oid() as %ObjectIdentity
Returns the OID of this object.
method IsFileUnicode() as %Boolean
Returns true if the file is Unicode.
This method may only be called after data has been read
from the file stream.
method SizeGet() as %Integer
Return the current size of the data stream.
Note this is complicated by having to worry about the translate table used to write the file.
VMS does not support moving to a position in a file or providing the current position in a file.
On VMS if a BOM is included at the start of the file it may be included in the size calculated.
If translation table is set after the file has been opened
then switch the table used for the file.
If the translation table is set to "", then the "RAW" table is used.
Inherited Members
Inherited Properties
- %Location
- AtEnd
- Attributes
- CanonicalFilename
- Directory
- Filename
- Id
- LastModified
- LineTerminator
- ReadSize
- RemoveOnClose
- Size
- UseVMSVersion
Inherited Methods
- %AddToSaveSet()
- %CheckUnique()
- %ClassIsLatestVersion()
- %ClassName()
- %ConstructClone()
- %Delete()
- %DeleteExtent()
- %DeleteId()
- %DispatchClassMethod()
- %DispatchGetModified()
- %DispatchGetProperty()
- %DispatchMethod()
- %DispatchSetModified()
- %DispatchSetMultidimProperty()
- %DispatchSetProperty()
- %Exists()
- %ExistsId()
- %Extends()
- %GetParameter()
- %GetSwizzleObject()
- %Id()
- %IsA()
- %IsModified()
- %IsNull()
- %KillExtent()
- %LOBPrefetch()
- %LocationGet()
- %LocationSet()
- %LockStream()
- %New()
- %NormalizeObject()
- %ObjectIsNull()
- %ObjectModified()
- %ObjectSize()
- %Open()
- %OpenId()
- %OriginalNamespace()
- %PackageName()
- %ReleaseLock()
- %Reload()
- %RemoveFromSaveSet()
- %RollBack()
- %Save()
- %SerializeObject()
- %SetModified()
- %UnlockStream()
- %ValidateObject()
- CanonicalFilenameGet()
- Clear()
- CopyFrom()
- CopyFromAndSave()
- DeleteAttribute()
- DeleteStream()
- FileBinarySize()
- FilenameGet()
- FilenameSet()
- FindAt()
- Flush()
- GetAttribute()
- GetAttributeList()
- GetStreamId()
- GetStreamIdForFile()
- InputFromDevice()
- IsCharacter()
- IsDefinedAttribute()
- IsNull()
- LastModifiedGet()
- LineTerminatorSet()
- LinkToFile()
- MoveTo()
- MoveToEnd()
- NewFileName()
- NextAttribute()
- OpenStream()
- OutputToDevice()
- OutputToDeviceAt()
- Read()
- ReadLine()
- ReadLineIntoStream()
- ReadSQL()
- Rewind()
- SaveStream()
- SerializeToSyncSet()
- SetAttribute()
- SetAttributeList()
- StreamOIDIsNull()
- SyncStreamIn()
- Write()
- WriteLine()