[[SoftwareEngineering/ProgramLanguage/WSH/JScript]]
#contents
*ファイルを読み込む [#kf5d20e5]
/// <summary>入出力モード</summary>
var InOutMode = {
readOnly : 1 // 読取専用
,create : 2 // 新規作成
,append : 8 // 追加
}
var _FileSystem = new ActiveXObject('Scripting.FileSystemObject');
var _ReadingFile = _FileSystem.OpenTextFile('filename', InOutMode.readOnly, false);
while (!_ReadingFile.atEndOfStream) {
var _LineText = _ReadingFile.ReadLine();
}
_ReadingFile.Close();
*ファイルに書き込む [#d9b6311b]
/// <summary>入出力モード</summary>
var InOutMode = {
readOnly : 1 // 読取専用
,create : 2 // 新規作成
,append : 8 // 追加
}
var _FileSystem = new ActiveXObject('Scripting.FileSystemObject');
var _WritingFile = _FileSystem.OpenTextFile('filename', InOutMode.create, true);
_WritingFile.WriteLine('あいうえお');
_WritingFile.Close();
*ファイルに書き込む(文字コード指定) [#md688d75]
/// <summary>Stream オブジェクトに保存するデータの種類を表します</summary>
var StreamTypeEnum = {
adTypeBinary : 1 // バイナリ データを表します
,adTypeText : 2 // 既定値です。Charset で指定された文字セットにあるテキスト データを表します
}
/// <summary>Stream オブジェクトに書き込む文字列に、行区切り文字を追加するかどうかを表します</summary>
var StreamWriteEnum = {
adWriteChar : 0 // 既定値です。Stream オブジェクトに対して、Data パラメータで指定したテキスト文字列を書き込みます
,adWriteLine : 1 // Stream オブジェクトに、テキスト文字列と行区切り文字を書き込みます。LineSeparator プロパティが定義されていない場合は、実行時エラーを返します
}
/// <summary>Stream オブジェクトからファイルを保存するときにファイルを作成するか、上書きするかを表します。これらの値は AND 演算子で結合することができます</summary>
var SaveOptionsEnum = {
adSaveCreateNotExist : 1 // 既定値です。FileName パラメータで指定したファイルがない場合は新しいファイルが作成されます。
,adSaveCreateOverWrite : 2 // FileName パラメータで指定したファイルがある場合は、現在開かれている Stream オブジェクトのデータでファイルが上書きされます。
}
var _FileStream = new ActiveXObject('ADODB.Stream');
_FileStream.Type = StreamTypeEnum.adTypeText;
_FileStream.Charset = 'utf-8';
_FileStream.Open();
_FileStream.WriteText('あいうえお', StreamWriteEnum.adWriteLine);
_FileStream.SaveToFile('filename', SaveOptionsEnum.adSaveCreateOverWrite);
_FileStream.Close();
*UTF-8 を UTF-8N に変換する [#k58d07b6]
/// <summary>Stream オブジェクトに保存するデータの種類を表します</summary>
var StreamTypeEnum = {
adTypeBinary : 1 // バイナリ データを表します
,adTypeText : 2 // テキスト データを表します
}
/// <summary>Stream オブジェクトからファイルを保存するときにファイルを作成するか、上書きするかを表します</summary>
var SaveOptionsEnum = {
adSaveCreateNotExist : 1 // FileName パラメータで指定したファイルがない場合は新しいファイルが作成されます。
,adSaveCreateOverWrite : 2 // FileName パラメータで指定したファイルがある場合は、現在開かれている Stream オブジェクトのデータでファイルが上書きされます。
}
/// ---------------------------------------------------------------------------
/// <summary>UTF-8 を UTF-8N に変換する</summary>
/// ---------------------------------------------------------------------------
function utf8toutf8n(fileName) {
var _ReadingFile = new ActiveXObject('ADODB.Stream');
var _WritingFile = new ActiveXObject('ADODB.Stream');
_ReadingFile.Type = StreamTypeEnum.adTypeBinary;
_ReadingFile.Open();
_ReadingFile.LoadFromFile(fileName);
_ReadingFile.Position = 3;
_WritingFile.Type = StreamTypeEnum.adTypeBinary;
_WritingFile.Open();
_WritingFile.Write(_ReadingFile.Read());
_WritingFile.SaveToFile(fileName, SaveOptionsEnum.adSaveCreateOverWrite);
_WritingFile.Close();
_ReadingFile.Close();
_ReadingFile = null;
_WritingFile = null;
}