Q134:フォルダーを指定のフォルダーに作成する方法
Q134-1:
今、MySQLデータのバックアップ保存のため、データをエクセルファイルで出力、DBサーバーのデータディスクにエクセルファイルで保存する方法(保存ファイルは「テーブル名+日付」)を取っておりますが、ファイルの種類が多く日付のフォルダーを作って、バックアップのファイル(テーブル)をそのフォルダーに保存して検索しやすくしたいと考えています。
日付フォルダーを予めWindowsの新規フォルダー作成で作っておけば、ちゃんとそのフォルダーに保存されるのですが、MZ Platformの機能を使って、本日の日付を取得、そのフォルダーを指定のフォルダー(「バックアップ」)に作成する方法はありませんか?バックアップ保存時に毎回手作業で日付フォルダーを新規作成することを省く目的です。
何かご教授していただけることがあれば、よろしくお願いいたします。
A134-1:
[ファイル]コンポーネントをお試し下さい。
メソッド「ファイル名を設定する(String)」でバックアップの親ディレクトリを指定し、続いて「mkdir(String)」で名前を付けて新規ディレクトリを作成します。
「ファイル名を設定する(String)」の引数は固定値で絶対パス指定で結構です。
[ファイル選択]を利用する場合には、メソッド「ファイル選択モード(ディレクトリのみ)を設定する」または属性情報で「FileSelectionMode=1」とすると選択の際ディレクトリだけの表示にもできます。
「mkdir(String)」を実行すると、『設定されているファイル名(パス)』は作成したディレクトリまでを含んだものに変わりますので、「ファイル名を設定する(String)」は都度実行して下さい。
既に同名のディレクトリがある場合には上書きはされません。
「ファイルが存在するか取得する()」ことも可能です。
他に新規にファイルを作成したり、移動、コピーもできますので、詳しくは「java.doc」をご覧頂き、ご不明な点がございましたらお問い合わせ下さい。
日付は[カレンダー]コンポーネントに「カレンダーを現在時刻に設定()」し、「書式指定によるカレンダー文字列表現の取得(Stirng)」で、年の「y」、月の「M」、日の「d」を組み合わせて引数を指定して(例:yyyy年MM月dd日)、取得した文字列表現をファイル名として使うことが考えられます。
Q134-2:
ファイルコンポーネントでファイルを設定、mkdir(String)で上手くフォルダーが作成、データ保存ができました。ありがとうございます。
ところで、java.docはどのように活用すればよろしいのでしょうか?ドキュメントインデックスにあるJavadocを見るといろいろと使えるものがありそうですが、具体的アプリケーションで使うとなるとどうすればよいのか考えております。
また、現在の作成したアプリケーションはサイズが大きくなり、テーブル格納変数(空にする)、テーブル(全行削除)などを初期化、および終了処理で行っています。他に何か方法がありますでしょうか?伺う理由はアプリケーションの使う内容によって、終了時保存のサイズが大きく違うケースがあり、まだ何かデータが初期化されていないかと疑うためです。アドバイスがありましたら、よろしくお願いいたします。
A134-2:
『javadoc』ですが、基本的には『コンポーネントリファレンス』の各コンポーネントのクラス名のリンクから開く『javadoc』のページを見て頂くようになるかと思います。
主要なメソッドの説明はコンポーネントリファレンスにもありますが、それ以外は『javadoc』をご覧頂き、使用できるメソッドを探します。
また、同じ機能を持つメソッドでも引数の設定にバリエーションがある場合があり(例:ファイル名を設定する(setFile)は4種ある)、引数の設定方法や、戻り値の型などを確認して頂くことができます。
コンポーネントについて『コンポーネントリファレンス』より詳細な説明を載せている場合もあります。
しかしながら『javadoc』をご覧頂いても判り辛い部分があると承知しておりますので、メソッド選択でご不明な点があれば、どうぞ今後もお問い合わせを下さい。
> また、現在の作成したアプリケーションはサイズが大きくなり、テーブル格納変数(空にする)、テーブル(全行削除)などを初期化、および終了処理で行っています。他に何か方法がありますでしょうか?伺う理由はアプリケーションの使う内容によって、終了時保存のサイズが大きく違うケースがあり、まだ何かデータが初期化されていないかと疑うためです。
変数はアプリケーション保存時には設定したデータは保存されません。
アプリケーションの作り方にも依りますが、終了時に変数を空にする処理は必要ないかも知れません。
但し、変数にはオブジェクトを設定してから使用するので、(例:[リスト格納変数]「空のリストを設定する()」を行ってから「要素を追加する」=何らかの`リスト`が無いと`リスト`に要素を追加できないため)初期化のため空のオブジェクトを設定することは度々あります。
画面構成部品のコンポーネントは意図的にデータを削除しないと、そのまま残るので、終了処理は重要です。画面構成部品でデータ保存の必要のないコンポーネントは、終了時のデータクリアをご検討ください。
特に画像を設定しているとファイルサイズは、画像ファイルのサイズに左右されるかと思います。
ファイルサイズが大きくなった時に、お気付きの点がありましたら、お知らせ頂ければ原因を探すことができるかもしれませんので、どうぞ今後何かありましたらご遠慮なくご連絡頂ければ幸いです。