Stream API Functions: Unterschied zwischen den Versionen

Aus expecco Wiki (Version 2.x)
Zur Navigation springen Zur Suche springen
Zeile 39: Zeile 39:
=== Reading ===
=== Reading ===


===== Characters =====
''aStream'' <code>next</code> => Character | nil
''aStream'' <code>next</code> => Character | nil
<br>''aStream''.<code>next()</code> [JS]
<br>''aStream''.<code>next()</code> [JS]
Zeile 56: Zeile 57:
s next:5.
s next:5.
=> string-of-5-chars
=> string-of-5-chars

===== Binary Bytes =====


''aStream'' nextByte => Integer | nil
''aStream'' nextByte => Integer | nil

Version vom 25. September 2020, 22:52 Uhr

This document lists most useful (and most often needed) functions. Be aware, that there are many more to be found in either the class references or via the builtin class browser.

Reference: Stream and ExternalStream and Socket

Back to Useful API Functions

Creation[Bearbeiten]

Internal Streams[Bearbeiten]

aCollection readStream => Stream
aString readStream => Stream

returns a stream to read from a general collection or especially from a string (which is a collection of characters)

aCollection writeStream
aString writeStream

returns a stream to write to a general collection or especially a string stream.
External Streams[Bearbeiten]

pathString asFilename readStream => Stream
pathString asFilename writeStream => Stream
pathString asFilename appendingWriteStream => Stream

returns a stream to read / write the file named aFilenameString

Socket newTCPclientToHost:hostNameOrAddress port:aPortOrServiceName => SocketStream

returns a connected socket for reading and writing

PipeStream readingFrom:OS-command => PipeStream

returns a stream reading the output from an OS-command

Testing[Bearbeiten]

aStream atEnd => Boolean

returns true if no more elements are to be read

Reading[Bearbeiten]

Characters[Bearbeiten]

aStream next => Character | nil
aStream.next() [JS]

returns the next character (as character object)

Example:

 s := 'data.txt' asFilename readStream.
 s next.
 => character

aStream next:count => String
aStream.next(count) [JS]

returns the next count characters (as a string)

Example:

 s := 'data.txt' asFilename readStream.
 s next:5.
 => string-of-5-chars
Binary Bytes[Bearbeiten]

aStream nextByte => Integer | nil

returns the next byte (as an integer)

aStream nextBytes: count => ByteArray

returns the next count bytes (as a byte array)

Writing[Bearbeiten]

nextPut:[Bearbeiten]

Appends (writes) an element to the stream.

aStream nextPut: someElement

aStream.nextPut (someElement) [JS]

Example:

 s := 'data.txt' asFilename writeStream.
 s nextPut: $a.
 s nextPut: $b.
 s close.

Example:

 s := #() writeStream.
 s nextPut: 1.
 s nextPut: 'two'.
 s nextPut: 3.14159.
 s contents
 -> #( 1 'two' 3.14159 )
nextPutAll:[Bearbeiten]

Appends (writes) a number of elements to the stream.

aStream nextPutAll: aCollectionOfElements

aStream.nextPutAll (aCollectionOfElements) [JS]

Example:

 s := 'data.txt' asFilename writeStream.
 s nextPutAll: 'abc'.
 s close.
nextPutByte:[Bearbeiten]

Appends a byte valued integer to the stream. Only valid for character streams.



Copyright © 2014-2024 eXept Software AG