目次
テキストファイルに文字を書き込む
今回は、 Photoshop の JavaScript で、テキストファイルに文字を書き込んでみたいと思います。以前の投稿で、ドキュメントの名前、解像度などを取得してみましたが、取得した情報をファイルに記録しておけると、便利な時があるかもしれません。
今回は、以下のようなファイルオブジェクトの関数を使用します。
- コンストラクタ
- ファイルオブジェクトを作成する。
- open 関数
- テキストファイルを開く。今回は、「書き込み」モードで開く。
- close 関数
- テキストファイルを閉じる。
- write 関数
- テキストファイルに文字を書き込む。
- writeln 関数
- テキストファイルに文字と改行を書き込む。行単位で書き込む。
ファイルオブジェクトのことは、以下のリンクの PDF の 243 ページ「 6 Using File and Folder Objects」に書いてありました。
- Adobe CS2 Photoshop JavaScript Scripting Reference - JavaScriptReferenceGuide.pdf
- http://wwwimages.adobe.com/content/dam/acom/en/devnet/photoshop/scripting/JavaScriptReferenceGuide.pdf
1 文字ずつ書き込む
以下の、 jsx を実行してみると、「newfile.txt」が作成されて、文字の書き込みがされていました。ファイルの文字コードは「SHIFT-JIS」、改行コードは「CR+LF」でした。「あいう」の日本語の文字もそのまま出力されていました。
ソースコード:file-object-write-function.jsx
var fileObj = new File( "C:/Users/xxx/xxx/xxx/003607/newfile.txt" ); //ファイルオブジェクト作成。 xxx の部分は伏せ字です。 fileObj.open( "w" ); //ファイルを「書き込み」モードで開く fileObj.write( "ABC" ); //文字書き込み fileObj.write( "あいう" ); //文字書き込み fileObj.close(); //ファイルを閉じる fileObj = null; //変数を空にする。
処理結果:newfile.txt
ABCあいう
1 行ずつ書き込む
次は、 writeln 関数を使用して、 1 行ずつ文字を書き込んでみたいと思います。
今回は、ファイルオブジェクト作成のパス指定に、チルダ( ~ の記号)を使用しています。チルダは、「C:\Users\ユーザー名」を表してくれるようです。
以下の jsx を実行してみると、「C:\Users\ユーザー名」フォルダに「newfile.txt」が作成されました。ファイルのパスは「C:\Users\ユーザー名\newfile.txt」になります。
ソースコード:file-object-writeln-function.jsx
var fileObj = new File( "~/newfile.txt" ); //ファイルオブジェクト作成。チルダ(~)は C:\Users\xxx の意味になるようです。 xxx には Windows のユーザー名が入ります。 fileObj.open("w"); //ファイルが存在しない場合は、空のファイルが作成される。 fileObj.writeln("ABC"); //文字と改行書き込み。 fileObj.writeln("あいう"); //文字と改行書き込み。 fileObj.close(); //ファイルを閉じる。 fileObj = null; //変数にオブジェクトが入っている場合は、 null にするようです。
処理結果:newfile.txt
ABC
あいう
テスト環境
- Adobe Photoshop CS2
- Windows 10
以上、閲覧ありがとうございました。