|
||||||||
| フレームあり フレームなし | ||||||||
| 概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||
データフォルダにアクセスするための Connection インタフェースです。
データフォルダは階層的フォルダ構造を有するファイルシステムです。 すべての Java アプリケーションは、階層フォルダ内に存在するフォルダ以外のすべてのファイルのリストを取得できます。また、 ファイルリストのエントリから以下の情報を取得できます。
上記の機能を使用するには MIDP の Connector クラスの open メソッドに "datafolder:" スキームの url を指定して、DataFolderConnection オブジェクトを取得します。ファイルの操作内容によって指定する引数 url の書式と引数 mode の値は異なります。
| ファイルの操作内容 | 引数 url の書式 | 引数 mode の値 |
|---|---|---|
| ファイルリストの取得 | "datafolder://" | Connector.READ |
| ファイルの属性取得 | "datafolder://ファイルのパス名" | Connector.READ |
このクラスが提供する以下の機能について詳細に説明します。
ファイルリストを取得するときは、Connectorクラスの open メソッドの引数 url に "datafolder://" を設定します。
String url = "datafolder://"; DataFolderConnection conn = (DataFolderConnection) Connector.open(url, Connector.READ); String list[] = conn.getList(); conn.close();
上記のようにファイルリストとして生成した DataFolderConnection オブジェクトに対して getList メソッドを呼び出すと、ルートフォルダ以下全階層下にある全てのファイルのパス名が String オブジェクトの配列として取得できます。このパス名は "datafolder:" スキームを含むパス名となっていて、ファイルの情報を取得するためのメソッドの引数としてそのまま渡せます。
getList メソッドでは、すべての種類のファイルのリストを取得できます。また、指定したタイプのファイルだけのリストも取得できます。ファイルの種類の指定は DataFolderConnection インタフェースでフィールド定義されている以下の値を使用します。
| フィールドの値 | ファイルの種類 |
|---|---|
FILE_TYPE_MELODY |
「メロディ」フォルダのファイル |
FILE_TYPE_KARAOKE |
「カラオケ」フォルダのファイル |
FILE_TYPE_GRAPHIC |
「グラフィック」フォルダのファイル |
FILE_TYPE_PHOTO |
「Myフォト」フォルダのファイル |
FILE_TYPE_MOVIE |
「ezmovie」「Myムービー」フォルダのファイル |
FILE_TYPE_ETC |
上記以外でJavaからオープン可能なファイル |
ファイルの種類の指定は OR 指定が可能です。たとえば、メロディとカラオケのファイルリストを取得したい場合は、FILE_TYPE_MELODY | FILE_TYPE_KARAOKE を指定します。
DataFolderConnection オブジェクトを使い終わったら、close メソッドを呼び出してください。
データファイルの属性を取得するときは、Connector クラスの open メソッドの引数 url にファイルのパス名を設定して得られた DataFolderConnection オブジェクトに対して、以下のメソッドを呼び出します。
| 取得できる属性 | メソッド |
|---|---|
| 表示名 | getName |
| タイプ | getType |
| 著作権フラグ | isCopyrighted |
| サイズ | getLength |
以下に例を示します。
String url = "datafolder://filePathName"; DataFolderConnectionn conn = (DataFolderConnection) Connector.open(url, Connector.READ); //ファイルの表示名取得 String filePresentationName = conn.getName(); //ファイルのタイプ取得 String fileType = conn.getType(); //ファイルの著作権保護フラグ取得 boolean fileCopyProtection = conn.isCopyrighted(); //ファイルのサイズ取得 long fileLength = conn.getLength(); conn.close();
open メソッドの引数 url には、ファイルリストとして取得された DataFolderConnection オブジェクトの getList メソッドで得られる String 配列の要素をそのまま渡せます。
DataFolderConnection オブジェクトを使い終わったら close メソッドを呼び出してください。
| フィールドの概要 | |
static int |
FILE_TYPE_ANIME
推奨されていません。 FILE_TYPE_GRAPHIC, FILE_TYPE_PHOTO を使います。 |
static int |
FILE_TYPE_ETC
ファイルの種類でその他を示します。 |
static int |
FILE_TYPE_GRAPHIC
ファイルの種類でグラフィックを示します。 |
static int |
FILE_TYPE_KARAOKE
ファイルの種類でカラオケを示します。 |
static int |
FILE_TYPE_MELODY
ファイルの種類でメロディを示します。 |
static int |
FILE_TYPE_MOVIE
ファイルの種類でムービー「EZムービー」「Myムービー」フォルダのファイルです。 |
static int |
FILE_TYPE_PHOTO
ファイルの種類でフォトを示します。 |
| メソッドの概要 | |
java.lang.String[] |
getList()
フォルダ以外の全ファイルリストを返します。 |
java.lang.String[] |
getList(int type)
種類に応じたファイルリストを返します。 |
java.lang.String |
getName()
ファイルの表示名を返します。 |
java.lang.String |
getType()
ファイルのタイプを返します。 |
boolean |
isCopyrighted()
著作権保護されているかどうか判別します。 |
| インタフェース javax.microedition.io.ContentConnection から継承したメソッド |
getEncoding, getLength |
| インタフェース javax.microedition.io.Connection から継承したメソッド |
close |
| フィールドの詳細 |
public static final int FILE_TYPE_ANIME
FILE_TYPE_GRAPHIC, FILE_TYPE_PHOTO を使います。
public static final int FILE_TYPE_MELODY
public static final int FILE_TYPE_KARAOKE
public static final int FILE_TYPE_ETC
public static final int FILE_TYPE_GRAPHIC
public static final int FILE_TYPE_PHOTO
public static final int FILE_TYPE_MOVIE
| メソッドの詳細 |
public java.lang.String[] getList()
throws java.io.IOException
java.io.IOException - close メソッドの後に呼び出したとき、またはリストが取得できなかったときに発生するIllegalStateException - open メソッドでファイル名が指定された場合に発生する
public java.lang.String[] getList(int type)
throws java.io.IOException
ファイルの種類として引数 type に 0 が指定された場合は、 全種類のファイルのリストを返します。
例:メロディとカラオケのファイルリストを取得したい場合は、
DataFolderConnection.FILE_TYPE_MELODY | DataFolderConnection.FILE_TYPE_KARAOKE
を指定してください。type - ファイルの種類java.io.IOException - close メソッドの後に呼び出されたとき、またはリストが取得できなかったときに発生するIllegalStateException - open メソッドでファイル名が指定された場合に発生する
public boolean isCopyrighted()
throws java.io.IOException
IllegalStateException - open メソッドでファイル名を指定しなかった、または WRITE モードを指定した場合に発生するjava.io.IOException - close メソッドの後に呼ばれたときに発生する
public java.lang.String getName()
throws java.io.IOException
IllegalStateException - open メソッドでファイル名が指定されなかった、または WRITE モードが指定された場合に発生するjava.io.IOException - close メソッドの後に呼ばれたときに発生するpublic java.lang.String getType()
javax.microedition.io.ContentConnection 内の getTypeIllegalStateException - open メソッドでファイル名が指定しされなかった、または WRITE モードが指定された場合に発生する
|
||||||||
| フレームあり フレームなし | ||||||||
| 概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||