FileStream クラスは、MAXScript 内でテキスト ファイルの入出力を実装します。FileStream 値は、MAXScript 内で開いているテキスト ファイルです。テキスト ファイルの入出力は、ファイルストリーム値で関数を呼び出して実行します。
createFile <filename_string> [encoding:{ <#current> | <#English> | <#German> | <#French> | <#Japanese> | <#Korean> | <#Chinese> | <#utf8> | <#utf16LE> | <#utf16BE> | <int codepage> } ] \ [writeBOM:<bool>]
新しいファイルを作成して <filestream> 値を返します。指定したファイルを作成できない場合は、 undefined 値が返されます。
encoding: キーワード オプションを使用して特定のキャラクタ エンコーディングを強制することができます。 指定しない場合、既定値は #current エンコーディングになります。
writeBOM: キーワード オプションを使用すると、UTF-8 ファイルの Byte-Order-Mark を記述するかどうかを指定できます。
3ds Max 2013 以降での Unicode および BOM の使用方法の詳細については、「キャラクタ エンコーディング」のトピックを参照してください。
openFile <filename_string> [mode:<mode_string>] [encoding:{ <#current> | <#English> | <#German> | <#French> | <#Japanese> | <#Korean> | <#Chinese> | <#utf8> | <#utf16LE> | <#utf16BE> | <int codepage> } ] \ [writeBOM:<bool>]
ファイルが開き、<filestream> 値が返されます。指定したファイルを開けない場合は、 undefined 値が返されます。オプションの <mode_string> は次のように設定できます。
r - 読み込み専用テキスト - ファイルが存在する必要があります。
rt - 読み取り専用テキスト - ファイルが存在する必要があります
rb - 読み取り専用バイナリ - ファイルが存在する必要があります
r+ - 読み取り/書き込み可能なテキスト - ファイルが存在する必要があります
a - 書き込み専用テキスト、追加書き込み - 3ds Max 2013 では、存在しない場合にはファイルが作成されます(3ds Max 2012 以前では、ファイルが必ず存在する必要があります)。
at - 書き込み専用テキスト、追加書き込み - 3ds Max 2013 では、存在しない場合にはファイルが作成されます(3ds Max 2012 以前では、ファイルが必ず存在する必要があります)。
ab - 書き込み専用バイナリ、追加書き込み - 3ds Max 2013 では、存在しない場合にはファイルが作成されます(3ds Max 2012 以前では、ファイルが必ず存在する必要があります)。
a+ - 読み込み/書き込みテキスト、追加書き込み - 3ds Max 2013 では、存在しない場合にはファイルが作成されます(3ds Max 2012 以前では、ファイルが必ず存在する必要があります)。
w - 書き込み専用テキスト - ファイルが存在する場合はファイル内容を削除します。
wt - 書き込み専用テキスト - ファイルが存在する場合はファイル内容を削除します。
wb - 書き込み専用バイナリ - ファイルが存在する場合はファイル内容を削除します。
w+ - 読み込み/書き込みテキスト - ファイルが存在する場合はファイル内容を削除します。
D - 最後のハンドルが閉じられたら、ファイルは削除されます。
c - 関連ファイル名の確定フラグを有効にして、flush または fflush が呼び出された場合にファイル バッファの内容がディスクに直接書き込まれるようにします。
n- 関連ファイル名の確定フラグを「no-commit」にリセットします。ファイル バッファの内容はオペレーティング システム バッファに書き込まれます。
「 a 」アクセス タイプのいずれかでファイルが開かれている場合、すべての書き込み操作はファイルの最後に行われます。ファイル ポインタは、シークを使用して再ポイントできますが、すべての書き込み操作が実行される前に、必ずファイルの最後に戻ります。したがって既存のデータを上書きできません。
「 a 」モードは、ファイルへ追加する前に EOF マーカーを削除しません。追加後、MS-DOS の TYPE コマンドでは、元の EOF マーカーまでのデータだけが表示され、ファイルに追加されたデータは表示されません。
「 a+ 」モードは、ファイルへ追加する前に EOF マーカーを削除します。追加後、MS-DOS の TYPE コマンドでファイルのデータがすべて表示されます。「 a+ 」モードは、Ctrl+Z EOF マーカーで終了するストリーム ファイルへの追加に必要です。
「 r+ 」、「 w+ 」または「 a+ 」のアクセス タイプを指定すると、読み取りと書き込みの両方が可能になります(ファイルは「更新」用に開かれます)。ただし、読み取りと書き込みを切り替えるときには、媒介する flush() または seek() 演算が必要です。必要に応じて seek() 演算に対して現在位置を指定できます。
encoding: キーワード オプションを使用して特定のキャラクタ エンコーディングを強制することができます。 指定しない場合、既定値は #current エンコーディングになります。
詳細については、「キャラクタ エンコーディング」のトピックを参照してください。
openEncryptedFile <filename> <key> [encoding:{ <#current> | <#English> | <#German> | <#French> | <#Japanese> | <#Korean> | <#Chinese> | <#utf8> | <#utf16LE> | <#utf16BE> | <int codepage> } ] \ [writeBOM:<bool>]
指定の整数キーを使って暗号化されたファイルを開き、 openFile() 関数から返される FileStream と同様に、読み取り可能な FileStream 値を返します。暗号化されたファイルの詳細は、暗号化ファイルを参照してください。
encoding: キーワード オプションを使用して特定のキャラクタ エンコーディングを強制することができます。 指定しない場合、既定値は #current エンコーディングになります。
writeBOM: キーワード オプションを使用すると、UTF-8 ファイルの Byte-Order-Mark を記述するかどうかを指定できます。
3ds Max 2013 以降での Unicode および BOM の使用方法の詳細については、「キャラクタ エンコーディング」のトピックを参照してください。
(string引数の)区切り文字を得て、区切り文字が見つかる(またはファイルの終わりに到達する)まで文字を読み込み、それらの文字を文字列として返します。
指定した文字列を前方検索し、文字列が見つかったらその文字列の直後に位置を設定します。
文字列が見つからない場合、関数は undefined 値を返します。
後続の入出力がそこから開始するように与えられたオフセットでファイルを位置決めします。
ファイルにデータが残っていない場合は true、データが残っている場合は false を返します。
ファイルへの出力がすべてディスク上に存在するかどうかを確認し、メモリ バッファをフラッシュします。
ガベージ コレクションを待たずに、filestream 値によって使用されているメモリを解放します。
次のメソッドに関しては、 execute() メソッドの説明を「文字列値」で参照し、評価式での変数のスコープに関する情報を得てください。
ファイルから次の MAXScript <operand> を読み込み、評価します。
オプションの ignoreStringEscapes: キーワード引数を指定しないか、あるいは false に指定し、かつ、読み取った値が文字列である場合、文字列の文字「¥」はエスケープ文字として処理されます。true の場合、文字列内の「¥」は、エスケープ文字として処理されません。3ds Max 8 以降 で使用可能です。
ファイルから次の MAXScript <expr> を読み取り、評価します。
評価のスコープは現在のスコープではなく、グローバル スコープであることに注意してください。
stringStream に残されたすべての式を読み込み、評価します。評価のスコープは現在のスコープではなく、グローバル スコープであることに注意してください。
上記のメソッドの違いを次の例に示します。この例では、2 つの式から構成される文字列を含む stringstream 値が作成されます。文字列に含まれている式は、 random 0. 1. と random red blue の 2 つです。 readValue 、 readExpr 、および execute メソッドが stringstream を引数として実行されます。
これらのメソッドの詳細については、「値の共通プロパティ、演算子、メソッド」を参照してください。