InDesign CS3自動化作戦 (InDesign CS3 Automation Operation)

最初の5文字だけ読み込む

■プログラム説明(ソースコード説明)
 ファイル内容の先頭の数文字を読み込むには、まずファイルを読み込みモードで開きます。ファイルのあるパス(場所)を指定しnew File()で開きたいファイルのパスを指定します。これでファイルを操作するファイルオブジェクトが作成されます。このファイルオブジェクトに対してopen("r")を使ってファイルを開きます。サンプルでは"r"を指定していますが、これは読み込みモードで開くことを示しています。戻り値がtrueの場合はファイルが存在し読み込みが可能である事を示しています。ファイル内容の先頭の数文字を読み込ませるにはread(5)のように読み込みたい文字数を指定します。この値はバイト数ではない事に注意が必要です。日本語は2バイトで1文字ですが、read(2)とした場合には2バイト読み込むのではなく2文字分読み込まれます。


■ソースコード
filename = "Macintosh HD:id_text:headline.txt";
fileObj = new File(filename);
flag = fileObj.open("r");
if (flag == true)
{
text = fileObj.read(5);
alert(text);
fileObj.close();
}else{
alert("ファイルが開けませんでした");
}
■ポイント
 読み込みファイルの文字コードは自動判別されます。最初の数文字を読み込んで判別しているため、場合によっては日本語が文字化けしてしまう可能性があります。
 open()で読み込んでいる場合にエラーが発生する可能性もあります。例えばネットワーク経由でファイルを読み込んでいる間にネットワークが切断されてしまう、読み込み途中でファイルが削除されてしまう、ファイルが壊れているような場合です。このような場合には例外処理のtry〜catchを使ってエラーを回避するようにしてください。

■実際のスクリプトをダウンロード(sample.jsx.zip)

写真素材 PIXTA