これはInterSystems FAQ サイトの記事です。
ファイルサイズを取得する専用メソッドはありませんが、%Net.FtpSession クラスの sendCommand() メソッドを通してFTPのSIZEコマンドを呼び出し、サイズを取得できます。
簡単な利用例をご紹介します。
まず、以下の様なクラスを定義します。
Class MyNet.FtpSession Extends %Net.FtpSession
{ Method getSize(fname As %String, ByRef size As %Integer)
{
set type=..Type // 現Typeを保存しておくdo ..Binary()
set st=..sendCommand("SIZE "_fname) //SIZE <file name>set size=..ReturnMessageif type="Ascii" {
do ..Ascii()
}
quit
} }上記で作成したクラスを使用したサンプルコードです。