■プログラム説明(ソースコード説明)
ファイルから1文字ずつ読み込むには、まずファイルを読み込みモードで開きます。ファイルのあるパス(場所)を指定しnew File()で開きたいファイルのパスを指定します。これでファイルを操作するファイルオブジェクトが作成されます。このファイルオブジェクトに対してopen("r")を使ってファイルを開きます。サンプルでは"r"を指定していますが、これは読み込みモードで開くことを示しています。戻り値がtrueの場合はファイルが存在し読み込みが可能である事を示しています。readch()とするとファイルから1文字分読み込ます。MacOS Xの場合、改行コードを読み込むとLF (10番のコード)になります。CR (13番のコード)ではない点に注意が必要です。連続してreadch()とすることで1文字ずつ読み込んで処理することができます。
■ソースコード
filename = "Macintosh HD:id_text:sample.txt";
fileObj = new File(filename);
flag = fileObj.open("r");
if (flag == true)
{
text = fileObj.readch();
alert(text);
fileObj.close();
}else{
alert("ファイルが開けませんでした");
}
■ポイント
読み込みファイルの文字コードは自動判別されます。最初の数文字を読み込んで判別しているため、場合によっては日本語が文字化けしてしまう可能性があります。
open()で読み込んでいる場合にエラーが発生する可能性もあります。例えばネットワーク経由でファイルを読み込んでいる間にネットワークが切断されてしまう、読み込み途中でファイルが削除されてしまう、ファイルが壊れているような場合です。このような場合には例外処理のtry〜catchを使ってエラーを回避するようにしてください。
■実際のスクリプトをダウンロード(sample.jsx.zip)