- 2007-11-09 22:24
- widget
WFileとは
WFileはMacのDashboard Widgetからローカルファイルへの入出力を可能とするプラグインです。
WFileは以下の機能を提供しています。
- 関数名
- 説明
- read
- ファイルの文字列を取得する。
- readLine
- ファイルの指定した行番号の文字列を取得する。
- readBody
- ファイルの文字列を改行コード抜きで取得する。
- write
- ファイルに文字列を上書きする。
- append
- ファイルに文字列を追記する。
- lines
- ファイルの各行の文字列を配列で取得する。
- line
- ファイルの行数を取得する。
- exist
- ファイルの存在を確認する。
- list
- 指定したディレクトリ内に存在するファイルおよびディレクトリを取得する。
- mkdir
- ディレクトリ(フォルダ)を作成する。
- xml2json
- XMLファイルをJSON形式に変換し取得する。
ダウンロード
利用方法
プラグインをDashcodeでWidgetで利用する方法はコチラをご覧下さい。
Dashcodeを利用せずにプラグインを導入する方法はコチラを参考にして下さい。
Dashcodeを利用したWidgetの開発方法はコチラを参考にして下さい。
リファレンス
- 関数名
- read
- 説明
- 指定ファイルに含まれる全ての文字列を取得する。
- 定義
-
(String) WFile.read(file);
- 引数
-
- file: 読み込みファイルのパス。絶対パスで指定する必要があります。
- 返り値
- ファイルの内容を全て文字列で返します。改行文字等も含まれます。
- エラー
- 指定ファイルが存在しない場合、誤った引数を指定した場合は”undefined”を返します。
- 使用例
-
if(window.WFile) {//プラグインの読み込みチェック var str = WFile.read("/tmp/widget.txt"); if(!str) { // 読み込みに失敗したときの処理。 } }
- 関数名
- readLine
- 説明
- 指定したファイルの指定した行番号の文字列を取得する。
- 定義
-
(String) WFile.readLine(file, line);
- 引数
-
- file: 読み込みファイルのパス。絶対パスで指定する必要があります。
- line: 読み込む行番号。
- 返り値
- ファイルの指定した行番号の文字列を返します。
- エラー
- 指定ファイルが存在しない場合、行番号が不正であった場合、誤った引数を指定した場合は”undefined”を返します。
- 使用例
-
if(window.WFile) {//プラグインの読み込みチェック var str = WFile.readLine("/tmp/widget.txt", 7); if(!str) { // 読み込みに失敗したときの処理。 } }
- 関数名
- readBody
- 説明
- 指定したファイルの文字列を改行コードを除いて取得する。
- 定義
-
(String) WFile.readBody(file);
- 引数
-
- file: 読み込みファイルのパス。絶対パスで指定する必要があります。
- 返り値
- ファイルの文字列を改行コードを除いて返します。改行コードは自動判別します。
- エラー
- 指定ファイルが存在しない場合、誤った引数を指定した場合は”undefined”を返します。
- 使用例
-
if(window.WFile) {//プラグインの読み込みチェック var str = WFile.readBoddy("/tmp/widget.txt"); if(!str) { // 読み込みに失敗したときの処理。 } }
- 関数名
- write
- 説明
- 指定したファイルに文字列を上書きする。
- 定義
-
(bool) WFile.write(file, str);
- 引数
-
- file: 書き込みファイルのパス。絶対パスで指定する必要があります。ファイル内容は上書きされます。
- str: ファイルに書き込む文字列。
- 返り値
- 書き込みに成功した場合1(true)を返し、失敗した場合0(false)を返します。
- エラー
- 誤った引数を指定した場合は0(false)を返します。
- 使用例
-
if(window.WFile) {//プラグインの読み込みチェック var is_written = WFile.write("/tmp/widget.txt", "日本語もOK!"); if(!is_witten) { // 書き込みに失敗したときの処理 } }
- 関数名
- append
- 説明
- 指定ファイルに文字列を追記する。
- 定義
-
(bool) WFile.append(file, str);
- 引数
-
- file: 書き込みファイルのパス。絶対パスで指定する必要があります。ファイル内容に追記されます。ファイルが存在しない場合は、新たにファイルを生成し文字列を書き込みます。
- str: ファイルに追記する文字列。
- 返り値
- 書き込みに成功した場合1(true)を返し、失敗した場合0(false)を返します。
- エラー
- 誤った引数を指定した場合は0(false)を返します。
- 使用例
-
if(window.WFile) {//プラグインの読み込みチェック var is_written = WFile.append("/tmp/widget.txt", "この文字を追記"); if(!is_witten) { // 書き込みに失敗したときの処理 } }
- 関数名
- lines
- 説明
- 指定ファイルの各行の文字列を配列として取得する。
- 定義
-
(Array) WFile.lines(file);
- 引数
-
- file: ファイルのパス。絶対パスで指定する必要があります。
- 返り値
- 指定したファイルの各行の文字列を各要素に持つ配列。
- エラー
- 誤った引数を指定した場合は”undefined”を返します。
- 使用例
-
if(window.WFile) {//プラグインの読み込みチェック var lines = WFile.lines("/tmp/widget.txt"); if(!lines) { // エラー処理 } else { for(var i=0; i<lines.length; i++) { alert(lines[i]); } } }
- 関数名
- line
- 説明
- 指定ファイルの行数を取得する。
- 定義
-
(int) WFile.line(file);
- 引数
-
- file: ファイルのパス。絶対パスで指定する必要があります。
- 返り値
- 指定したファイルの行数。
- エラー
- 誤った引数を指定した場合は”undefined”を返します。
- 使用例
-
if(window.WFile) {//プラグインの読み込みチェック var lines = WFile.line("/tmp/widget.txt"); if(!lines) { // エラー処理 } }
- 関数名
- exist
- 説明
- ファイルの有無を確認する。
- 定義
-
(bool) WFile.exist(file);
- 引数
-
- file: 確認したいファイルパス。絶対パスで指定する必要があります。
- 返り値
- 指定したファイルが存在する場合はtrue(1)を返し、存在しない場合はfalse(2)を返す。
- エラー
- 誤った引数を指定した場合はfalseを返します。
- 使用例
-
if(window.WFile) {//プラグインの読み込みチェック var is_exist = WFile.exist("/tmp/test.txt"); if(!is_exist) { // エラー処理 } }
- 関数名
- list
- 説明
- 指定したディレクトリ内に存在するファイルおよびディレクトリを取得する。
- 定義
-
(Array) WFile.list(dir);
- 引数
-
- dir: ファイルを取得したいディレクトリパス。絶対パスである必要があります。
- 返り値
- 指定したディレクトリ内に存在するファイル名の配列。
- エラー
- 誤った引数を指定した場合は”undefined”を返します。
- 使用例
-
if(window.WFile) {//プラグインの読み込みチェック var lists = WFile.list("/tmp"); if(!is_exist) { // エラー処理 } else { for(var i=0; i<list.length; i++) { alert(list[i]); } } }
- 関数名
- mkdir
- 説明
- ディレクトリ(フォルダ)を作成する。
- 定義
-
(bool) WFile.mkdir(path);
- 引数
-
- path: 指定パスのディレクトリを作成する。絶対パスで指定する必要があります。
- 返り値
- ディレクトリの作成に成功した場合はtrue(1)を返し、失敗した場合はfalse(2)を返す。
- エラー
- 誤った引数を指定した場合はfalseを返します。
- 使用例
-
if(window.WFile) {//プラグインの読み込みチェック var made = WFile.mkdir("/tmp/test"); if(made) { // エラー処理 } }
- 関数名
- xml2json
- 説明
- 指定したローカルファイル(XML形式)をJSON形式に変換して取得する。
- 定義
-
(String) WFile.xml2json(file);
- 引数
-
- file: XMLファイルのパス。絶対パスで指定する必要があります。
- 返り値
- 指定したXMLファイルをJSON形式に変換した文字列。
- エラー
-
- 誤った引数を指定した場合、XMLが不正であった場合は”undefined”を返します。
- XMLファイルの途中にコメント文が含まれる場合、XMLを解析できません。
- 使用例
-
if(window.WFile) {//プラグインの読み込みチェック var json = WFile.xml2json("/tmp/widget.xml"); if(json) { // jsonをpaddingしてevalしてオブジェクトに変換 var obj = eval("(" + json + ")"); } else { // エラー処理 } }
- 備考
- 以下のXMLの場合、
<?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.google.com"> <url name='test1'> <loc>blog</loc> <lastmod>00:00</lastmod> </url> <url name='test2'> <loc>read_write_widget_plugin_wfile.html</loc> <lastmod>2007</lastmod> </url> </urlset>
以下のJSONに変換されます。
{ 'urlset':{ 'url':[{ '$attributes':{'name':'test1'}, 'loc':{'$value':'blog'}, 'lastmod':{'$value':'00:00'} }, { '$attributes':{'name':'test2'}, 'loc':{'$value':'read_write_widget_plugin_wfile.html'}, 'lastmod':{'$value':'2007'} }] } }各ノードの値を取得するには「$value」を利用し、各ノードの属性値を取得するには「$attributes」を利用する事に注意して下さい。
「/urlset/url/loc」の値と「/urlset/url」の属性値を取得するには以下のようにします。if(window.WFile) {//プラグインの読み込みチェック var json = WFile.xml2json("/tmp/widget.xml"); if(json) { // jsonをpaddingしてevalしてオブジェクトに変換 var obj = eval("(" + json + ")"); // urlset.url.locの値を取得する alert(obj.urlset.url[0].loc.$value);//'blog' alert(obj.urlset.url[0].$attributes.name);//'test1' } else { // エラー処理 } }
履歴
- 2007.11.25: バージョン1.0を公開。
- ファイルの文字列を改行コード抜きで取得できるようになりました(readBody)。
- ディレクトリ(フォルダ)を作成できるようになりました(mkdir)。
- URLに関係する関数をWUrlに分離しました。
- 2007.11.20: バージョン0.8を公開。
- ファイルの各行を文字列配列として取得できるようになりました(lines/linesURL)。
- 2007.11.19: バージョン0.7を公開。
- ファイルの存在を確認できるようになりました(exist/existURL)。
- ディレクトリ内のファイル名を取得できるようになりました(list)。
- ファイルのダウンロードができるようになりました(download)。
- 2007.11.16: バージョン0.6を公開。
- URL上のファイルの指定行を読み込めるようになりました(readLineURL)。
- URL上のファイルの行数を取得できるようになりました(lineURL)。
- 2007.11.15: バージョン0.5を公開。
- URLで指定したファイルを取得できるようになりました(readURL)。
- XMLファイルを読み込みJSONP形式に変換できるようになりました(xml2json)。
- URLで指定したXMLファイルを読み込みJSONP形式に変換できるようになりました(xml2jsonURL)。
- 2007.11.09: バージョン0.2を公開。
- ファイルに含まれる文字列の行数を取得できるようになりました(line)。
- ファイルの指定行を読み込めるようになりました(readLine)。
- ファイルの追記ができるになりました(append)。
- 文字コードの入力を不要にしました。
- 2007.11.03: バージョン0.1を公開。
- readとwriteを公開しました。
関連のありそうなエントリ
- Newer: ブログの中身
- Older: Dashboard Widgetでローカルファイルにアクセスするプラグイン「WFile」
Comments:1
- ゲスト 08-05-15 (木) 22:09
-
Add Your Comment
Trackbacks:0
- Trackback URL for this entry
- http://www.adamrocker.com/blog/160/wfile_reference.html/trackback/
- Listed below are links to weblogs that reference
- WFile - Dashboard Widgetでファイルアクセスするプラグイン - from throw Life
