com.kddi.io
インタフェース DataFolderConnection <Phase1/一部Phase2,3>

すべてのスーパーインタフェース:
javax.microedition.io.Connection, javax.microedition.io.ContentConnection, javax.microedition.io.InputConnection, javax.microedition.io.OutputConnection, javax.microedition.io.StreamConnection
既知のサブインタフェースの一覧:
MemoryConnection

public interface DataFolderConnection
extends javax.microedition.io.ContentConnection

データフォルダにアクセスするための 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
 

フィールドの詳細

FILE_TYPE_ANIME <Phase2>

public static final int FILE_TYPE_ANIME
推奨されていません。 FILE_TYPE_GRAPHIC, FILE_TYPE_PHOTO を使います。

ファイルの種類でアニメーションを示します。「グラフィック」「Myフォト」フォルダのファイルです。

FILE_TYPE_MELODY <Phase2>

public static final int FILE_TYPE_MELODY
ファイルの種類でメロディを示します。「メロディ」フォルダのファイルです。

FILE_TYPE_KARAOKE <Phase2>

public static final int FILE_TYPE_KARAOKE
ファイルの種類でカラオケを示します。「カラオケ」フォルダのファイルです。

FILE_TYPE_ETC <Phase2>

public static final int FILE_TYPE_ETC
ファイルの種類でその他を示します。EZアプリなどオープンできないものは含みません。

FILE_TYPE_GRAPHIC <Phase3>

public static final int FILE_TYPE_GRAPHIC
ファイルの種類でグラフィックを示します。「グラフィック」フォルダのファイルです。

FILE_TYPE_PHOTO <Phase3>

public static final int FILE_TYPE_PHOTO
ファイルの種類でフォトを示します。「Myフォト」フォルダのファイルです。

FILE_TYPE_MOVIE <Phase3>

public static final int FILE_TYPE_MOVIE
ファイルの種類でムービー「EZムービー」「Myムービー」フォルダのファイルです。
 
メソッドの詳細

getList

public java.lang.String[] getList()
                           throws java.io.IOException
フォルダ以外の全ファイルリストを返します。
戻り値:
String[] - "datafolder:"スキームを含むファイル名のリスト。ファイルが存在しない場合はサイズ 0 の配列。
例外:
java.io.IOException - close メソッドの後に呼び出したとき、またはリストが取得できなかったときに発生する
IllegalStateException - open メソッドでファイル名が指定された場合に発生する

getList <Phase2>

public java.lang.String[] getList(int type)
                           throws java.io.IOException
種類に応じたファイルリストを返します。

ファイルの種類として引数 type に 0 が指定された場合は、 全種類のファイルのリストを返します。

例:メロディとカラオケのファイルリストを取得したい場合は、

DataFolderConnection.FILE_TYPE_MELODY | DataFolderConnection.FILE_TYPE_KARAOKE
を指定してください。
パラメータ:
type - ファイルの種類
戻り値:
String[] - "datafolder:"スキームを含むファイル名のリスト。ファイルが存在しない場合はサイズ 0 の配列。
例外:
java.io.IOException - close メソッドの後に呼び出されたとき、またはリストが取得できなかったときに発生する
IllegalStateException - open メソッドでファイル名が指定された場合に発生する

isCopyrighted

public boolean isCopyrighted()
                      throws java.io.IOException
著作権保護されているかどうか判別します。
戻り値:
著作権保護されているときは true、保護されていないときは false
例外:
IllegalStateException - open メソッドでファイル名を指定しなかった、または WRITE モードを指定した場合に発生する
java.io.IOException - close メソッドの後に呼ばれたときに発生する

getName

public java.lang.String getName()
                         throws java.io.IOException
ファイルの表示名を返します。
戻り値:
ファイルの表示名、取得できなかった場合は null
例外:
IllegalStateException - open メソッドでファイル名が指定されなかった、または WRITE モードが指定された場合に発生する
java.io.IOException - close メソッドの後に呼ばれたときに発生する

getType

public java.lang.String getType()
ファイルのタイプを返します。
定義:
インタフェース javax.microedition.io.ContentConnection 内の getType
戻り値:
ファイルのタイプ、取得できなかった場合は null
例外:
IllegalStateException - open メソッドでファイル名が指定しされなかった、または WRITE モードが指定された場合に発生する


Copyright 2003 Aplix Corporation. All rights reserved. Aplix Confidential and Restricted.