Lumino
ln::StreamReader Class Reference

特定のエンコーディングのストリームを文字列として読み込む TextReader です。 More...

#include <StreamReader.hpp>

Inheritance diagram for ln::StreamReader:
ln::TextReader ln::RefObject

Public Member Functions

 StreamReader (Stream *stream, TextEncoding *encoding=nullptr)
 指定したストリーム用の StreamReader を構築します。 More...
 
 StreamReader (const StringRef &filePath, TextEncoding *encoding=nullptr)
 指定したパスのファイルから読み込むの StreamReader を構築します。 More...
 
virtual int peek () override
 現在位置の文字を取得します。 More...
 
virtual int read () override
 現在位置の文字を取得し、現在位置を次の文字に移動します。 More...
 
virtual bool readLine (String *line) override
 現在位置から 1 行分の文字列を読み取り、現在位置を移動します。 More...
 
virtual String readToEnd () override
 現在位置から全ての文字列を読み取ります。 More...
 
virtual bool isEOF () override
 現在位置が EOF に到達しているかを確認します。
 

Additional Inherited Members

- Protected Member Functions inherited from ln::RefObject
virtual void finalize ()
 参照がなくなり、オブジェクトが削除されようとしているときに呼び出されます。実装コードでは仮想関数を呼び出すことができます。主にデストラクタの制限を回避するために使用します。
 

Detailed Description

特定のエンコーディングのストリームを文字列として読み込む TextReader です。

エンコーディングを明示しない場合、ファイルは UTF-8 テキストとして読み込まれます。 ただし明示した場合でも、UTF 系の BOM を検出した場合は BOM が示すエンコーディングが優先されます。

Constructor & Destructor Documentation

◆ StreamReader() [1/2]

ln::StreamReader::StreamReader ( Stream stream,
TextEncoding encoding = nullptr 
)

指定したストリーム用の StreamReader を構築します。

Parameters
[in]stream: 読み込み元ストリーム
[in]encoding: 読み込むテキストのエンコーディング (null の場合は UTF8Encoding を使用します)

◆ StreamReader() [2/2]

ln::StreamReader::StreamReader ( const StringRef filePath,
TextEncoding encoding = nullptr 
)

指定したパスのファイルから読み込むの StreamReader を構築します。

Parameters
[in]filePath: 読み込み元ファイルのパス
[in]encoding: 読み込むテキストのエンコーディング (null の場合は UTF8Encoding を使用します)

Member Function Documentation

◆ peek()

virtual int ln::StreamReader::peek ( )
overridevirtual

現在位置の文字を取得します。

EOF に到達しているかエラーが発生した場合は -1 を返します。 戻り値が -1 かをチェックした後、Char にキャストすることで文字として使用できます。

Implements ln::TextReader.

◆ read()

virtual int ln::StreamReader::read ( )
overridevirtual

現在位置の文字を取得し、現在位置を次の文字に移動します。

EOF に到達しているかエラーが発生した場合は -1 を返します。 戻り値が -1 かをチェックした後、Char にキャストすることで文字として使用できます。

Implements ln::TextReader.

◆ readLine()

virtual bool ln::StreamReader::readLine ( String line)
overridevirtual

現在位置から 1 行分の文字列を読み取り、現在位置を移動します。

Parameters
[out]line: 読み取った文字列を格納する変数のポインタ (改行文字は含まない)
Returns
既に EOF に到達している場合は false を返します。

CRLF("\r\n") は1つの改行とみなします。 line が NULL の場合は現在位置を 1 行すすめるだけで、文字列を返しません。

Implements ln::TextReader.

◆ readToEnd()

virtual String ln::StreamReader::readToEnd ( )
overridevirtual

現在位置から全ての文字列を読み取ります。

Returns
読み取った文字列

Implements ln::TextReader.


The documentation for this class was generated from the following file: