JScript+WSHでプログラミング基礎100本ノック その77~80 ファイルの入出力

その77 ファイルの読み込み

テキストファイルを読み込んで、すべてプロンプトに表示してください。

仕様

・読み込むファイルは "input.txt"とし、batと同じフォルダに配置する。

・ファイルの中身は下記とし、SJIS(ANSI)で保存すること
北海道
宮城県
東京都
愛知県
京都府
大阪府
福岡県

・ファイルの読み込みは自作関数readFIle内で実施すること

ヒント

・ファイルの読み込みは下記で実施可能

var inputFilePath = "input.txt";
var inputArray = [];
var fileopen_state = 0; // 0:ASCII -1:Unicode -2:SystemDefault
var fs = new ActiveXObject( "Scripting.FileSystemObject" );
var file = fs.OpenTextFile( inputFilePath, 1, true, fileopen_state );		//  ファイルを読み取り専用で開く
while( !file.AtEndOfStream ){
    inputArray.push(file.ReadLine());
}
file.Close();  // ファイルを閉じる
fs = null;     // オブジェクトを初期化

コード例


var readFile = function(inputFilePath){
	var inputArray = [];

	var foState = 0; // file open state 0:ASCII -1:Unicode -2:SystemDefault
	var fso = new ActiveXObject( "Scripting.FileSystemObject" );
	var file = fso.OpenTextFile( inputFilePath, 1, true, foState );		//  ファイルを読み取り専用で開く
	while( !file.AtEndOfStream ){
	    inputArray.push(file.ReadLine());
	}
	file.Close();  // ファイルを閉じる
	fs = null;     // オブジェクトを初期化

	return inputArray;
}


var inputFilePath = "input.txt";
var iarr = readFile(inputFilePath);	// inputArray => iarr

for(var i=0; i<iarr.length; i++){
	WScript.echo(iarr[i]);
}

出力結果

北海道
宮城県
東京都
愛知県
京都府
大阪府
福岡県
続行するには何かキーを押してください . . .

その78 ファイルの書き込み(新規書き込み)

テキストファイルを読み込んで、すべてプロンプトに表示してください。
その後、同じ内容をテキストファイルに新規書き込みしてください。

仕様

・読み込むファイルは "input.txt"とし、batと同じフォルダに配置する。
・書き込むファイルは "output.txt"とする
・ファイルの中身は下記とし、SJIS(ANSI)で保存すること
北海道
宮城県
東京都
愛知県
京都府
大阪府
福岡県

・ファイルの読み込みは自作関数readFIle内で実施すること
・ファイルの新規書き込みは自作関数writeFIle内で実施すること

ヒント

・ファイルの新規書き込みは下記で実施可能

var outputFilePath = "output.txt";
var outputArray= [];
var fileopen_state = 0; // 0:ASCII -1:Unicode -2:SystemDefault
var fs = new ActiveXObject( "Scripting.FileSystemObject" );
var file = fs.OpenTextFile( outputFilePath , 2, true, fileopen_state );     // 2:新規に書き込み 8:追記
for(var i=0;i<outputArray.length;i++){
    file.WriteLine(outputArray[i]);
}
file.Close(); //  ファイルを閉じる
fs = null;    //  オブジェクトを解放

コード例


var readFile = function(inputFilePath){
	var inputArray = [];

	var foState = 0; // file open state 0:ASCII -1:Unicode -2:SystemDefault
	var fso = new ActiveXObject( "Scripting.FileSystemObject" );
	var file = fso.OpenTextFile( inputFilePath, 1, true, foState );		//  ファイルを読み取り専用で開く

	while( !file.AtEndOfStream ){
	    inputArray.push(file.ReadLine());
	}

	file.Close();  // ファイルを閉じる
	fs = null;     // オブジェクトを初期化

	return inputArray;
}

var writeFile = function(outputFilePath, outputArray){
	var foState = 0; // file open state 0:ASCII -1:Unicode -2:SystemDefault
	var fso = new ActiveXObject( "Scripting.FileSystemObject" );
	var file = fso.OpenTextFile( outputFilePath, 2, true, foState );     // 2:新規に書き込み 8:追記

	for(var i=0; i<outputArray.length; i++){
		file.WriteLine(outputArray[i]);
	}

	file.Close(); //  ファイルを閉じる
	fs = null;    //  オブジェクトを解放
}


var inputFilePath = "input.txt";
var outputFilePath = "output.txt";

var iarr = readFile(inputFilePath);	// inputArray => iarr

for(var i=0; i<iarr.length; i++){
	WScript.echo(iarr[i]);
}

writeFile(outputFilePath, iarr);

出力結果

北海道
宮城県
東京都
愛知県
京都府
大阪府
福岡県
続行するには何かキーを押してください . . .


その79 ファイルの書き込み(追記)

テキストファイルを読み込んで、すべてプロンプトに表示してください。
その後、同じ内容をテキストファイルに新規書き込み後、さらに追記してください。

仕様

・読み込むファイルは "input.txt"とし、batと同じフォルダに配置する。
・書き込むファイルは "output.txt"とする
・ファイルの中身は下記とし、SJIS(ANSI)で保存すること
北海道
宮城県
東京都
愛知県
京都府
大阪府
福岡県

・ファイルの読み込みは自作関数readFIle内で実施すること
・ファイルの新規書き込みは自作関数writeFIle内で実施すること
・ファイルの追記は自作関数appendFile内で実施すること

ヒント

・ファイルの新規書き込みは下記で実施可能(fs.OpenTextFileの引数を2から8にするだけ)

var outputFilePath = "output.txt";
var outputArray= [];
var fileopen_state = 0; // 0:ASCII -1:Unicode -2:SystemDefault
var fs = new ActiveXObject( "Scripting.FileSystemObject" );
var file = fs.OpenTextFile( outputFilePath , 8, true, fileopen_state );     // 2:新規に書き込み 8:追記
for(var i=0;i<outputArray.length;i++){
    file.WriteLine(outputArray[i]);
}
file.Close(); //  ファイルを閉じる
fs = null;    //  オブジェクトを解放

コード例


var readFile = function(inputFilePath){
	var inputArray = [];

	var foState = 0; // file open state 0:ASCII -1:Unicode -2:SystemDefault
	var fso = new ActiveXObject( "Scripting.FileSystemObject" );
	var file = fso.OpenTextFile( inputFilePath, 1, true, foState );		//  ファイルを読み取り専用で開く

	while( !file.AtEndOfStream ){
	    inputArray.push(file.ReadLine());
	}

	file.Close();  // ファイルを閉じる
	fs = null;     // オブジェクトを初期化

	return inputArray;
}

var writeFile = function(outputFilePath, outputArray){
	var foState = 0; // file open state 0:ASCII -1:Unicode -2:SystemDefault
	var fso = new ActiveXObject( "Scripting.FileSystemObject" );
	var file = fso.OpenTextFile( outputFilePath, 2, true, foState );     // 2:新規に書き込み 8:追記

	for(var i=0; i<outputArray.length; i++){
		file.WriteLine(outputArray[i]);
	}

	file.Close(); //  ファイルを閉じる
	fs = null;    //  オブジェクトを解放
}

var appendFile = function(outputFilePath, outputArray){
	var foState = 0; // file open state 0:ASCII -1:Unicode -2:SystemDefault
	var fso = new ActiveXObject( "Scripting.FileSystemObject" );
	var file = fso.OpenTextFile( outputFilePath, 8, true, foState );     // 2:新規に書き込み 8:追記

	for(var i=0; i<outputArray.length; i++){
		file.WriteLine(outputArray[i]);
	}

	file.Close(); //  ファイルを閉じる
	fs = null;    //  オブジェクトを解放
}


var inputFilePath = "input.txt";
var outputFilePath = "output.txt";

var iarr = readFile(inputFilePath);	// inputArray => iarr

for(var i=0; i<iarr.length; i++){
	WScript.echo(iarr[i]);
}

writeFile(outputFilePath, iarr);
appendFile(outputFilePath, iarr);

出力結果

北海道
宮城県
東京都
愛知県
京都府
大阪府
福岡県
続行するには何かキーを押してください . . .

1つ目の北海度~福岡のセットはwriteFIleによるもの、
2つ目の北海度~福岡のセットはappendFIleによるもの。


その80 ファイルの読み込みと書き込み

テキストファイルを読み込んだあと、各行を修正し、テキストファイルに新規書き込んでください。

仕様

・読み込むファイルは "input.txt"とし、batと同じフォルダに配置する。
・書き込むファイルは "output.txt"とする
・ファイルの中身は下記とし、SJIS(ANSI)で保存すること
北海道
宮城県
東京都
愛知県
京都府
大阪府
福岡県

・ファイルの読み込みは自作関数readFIle内で実施すること
・ファイルの新規書き込みは自作関数writeFIle内で実施すること
・ファイルの追記は自作関数appendFile内で実施すること

・出力するファイルの中身は下記とすおる
北海道に行きたい
宮城県に行きたい
東京都に行きたい
愛知県に行きたい
京都府に行きたい
大阪府に行きたい
福岡県に行きたい

コード例


var readFile = function(inputFilePath){
	var inputArray = [];

	var foState = 0; // file open state 0:ASCII -1:Unicode -2:SystemDefault
	var fso = new ActiveXObject( "Scripting.FileSystemObject" );
	var file = fso.OpenTextFile( inputFilePath, 1, true, foState );		//  ファイルを読み取り専用で開く

	while( !file.AtEndOfStream ){
	    inputArray.push(file.ReadLine());
	}

	file.Close();  // ファイルを閉じる
	fs = null;     // オブジェクトを初期化

	return inputArray;
}

var writeFile = function(outputFilePath, outputArray){
	var foState = 0; // file open state 0:ASCII -1:Unicode -2:SystemDefault
	var fso = new ActiveXObject( "Scripting.FileSystemObject" );
	var file = fso.OpenTextFile( outputFilePath, 2, true, foState );     // 2:新規に書き込み 8:追記

	for(var i=0; i<outputArray.length; i++){
		file.WriteLine(outputArray[i]);
	}

	file.Close(); //  ファイルを閉じる
	fs = null;    //  オブジェクトを解放
}

var appendFile = function(outputFilePath, outputArray){
	var foState = 0; // file open state 0:ASCII -1:Unicode -2:SystemDefault
	var fso = new ActiveXObject( "Scripting.FileSystemObject" );
	var file = fso.OpenTextFile( outputFilePath, 8, true, foState );     // 2:新規に書き込み 8:追記

	for(var i=0; i<outputArray.length; i++){
		file.WriteLine(outputArray[i]);
	}

	file.Close(); //  ファイルを閉じる
	fs = null;    //  オブジェクトを解放
}


var inputFilePath = "input.txt";
var outputFilePath = "output.txt";

var iarr = readFile(inputFilePath);	// inputArray => iarr
var oarr = [];

for(var i=0; i<iarr.length; i++){
	oarr.push(iarr[i] + "に行きたい");
}

writeFile(outputFilePath, oarr);

出力結果

続行するには何かキーを押してください . . .


”oarr.push(iarr[i] + "行きたい");”の部分の処理をもっと複雑にすると、様々な処理ができる。

この記事が気に入ったらサポートをしてみませんか?