|
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
ファイルにアクセスするためのインタフェースです。
javax.microedition.io.Connector.open() に "file:" スキームを指定して呼び出すと、 StorageConnectionインタフェースを実装したコネクションオブジェクトが取得できます。 このコネクションオブジェクトを使用して Java アプリケーションから機器内部のデータフォルダ、または外部メモリに存在するファイルにアクセスすることができます。
ファイルまたはフォルダにアクセスするには、Connector.open() メソッドの引数nameに「ファイルURL」を指定します。 ファイルURLは以下のように "file:" スキームに続けてパス名を指定します。
"file://パス名"
パス名は以下のどれかの形式で指定します。フォルダおよびルートを指定するパス名の末尾にはスラッシュ('/')が必要です。
ルートによってアクセスできるデータを指定します。
ルート | アクセス先のデータ |
---|---|
/ms | 機器内部のデータフォルダ |
/mc | メモリカードのデータフォルダ *1 |
著作権が保護されているデータファイルは、Java アプリケーションから作成、削除、名称変更、読み込み、および書き込みを行うことはできません。
list()
メソッドによってファイル名を取得したり、ファイルタイプやファイルの長さなどのデータファイルの情報を取得したりすることはできます。
ファイルに対する処理が終了したら、close()
メソッドを呼び出してコネクションを閉じてください。
以下に機器内部のデータフォルダにフォルダを新規作成する場合のコード例を示します。
以下に機器内部のデータフォルダにファイルを作成してデータを書き込む場合のコード例を示します。StorageConnection conn = null; try { conn = (StorageConnection)Connector.open("file:///ms/test/"); conn.createFolder(); // フォルダ新規作成 } catch (Exception e) { ... } finally { if (conn != null) { try { conn.close(); } catch (Exception e) {} } }
StorageConnection conn = null; try { conn = (StorageConnection)Connector.open("file:///ms/test/a.txt"); OutputStream os = null; try { os = conn.openOutputStream(); os.write(...); // データ書き込み os.flush(); } catch (Exception e) { ... } finally { if (os != null) { try { os.close(); } catch (Exception e) {} } } } catch (Exception e) { ... } finally { if (conn != null) { try { conn.close(); } catch (Exception e) {} } }
ファイルにデータを書き込む場合は、上記のように openOutputStream()
メソッドによって取得した出力ストリームを使用します。
ファイルからデータを読み込む場合は、取得したStorageConnectionオブジェクトのopenInputStream()
メソッドによって取得した入力ストリームを使用します。
コネクションオブジェクトから同時に取得できるストリームは1つだけです。
openInputStream()
または openOutputStream()
によってストリームを取得した場合、
そのストリームを閉じる前に openInputStream()
または openOutputStream()
を呼び出すと IOException が発生します。
StorageConnection conn = null; try { conn = (StorageConnection)Connector.open("file:///ms/test/a.txt"); conn.delete(); // 削除後は close() 以外のメソッドを使用できません。 } catch (Exception e) { ... } finally { if (conn != null) { try { conn.close(); } catch (Exception e) {} } }
フィールドの概要 | |
static java.lang.String |
ROOT_EXTERNAL
外部メモリデータフォルダのルートパスを示します("/mc/")。 |
static java.lang.String |
ROOT_INTERNAL
機器内部データフォルダのルートパスを示します("/ms/")。 |
static int |
TYPE_EML
EML(*.eml)ファイルタイプです。 |
static int |
TYPE_FOLDER
フォルダです。 |
static int |
TYPE_HTML
HTML(*.htm、*.html)ファイルタイプです。 |
static int |
TYPE_JPEG
JPEG(*.jpg、*.jpe、*.jpeg、*.jpz)ファイルタイプです。 |
static int |
TYPE_MNG
MNG(*.mng)ファイルタイプです。 |
static int |
TYPE_MP4
MP4(*.mp4)ファイルタイプです。 |
static int |
TYPE_MPEG4
MPEG4(*.3gp)ファイルタイプです。 |
static int |
TYPE_NANCY
NANCY(*.noa)ファイルタイプです。 |
static int |
TYPE_OTHER
その他のファイルタイプです。 |
static int |
TYPE_PNG
PNG(*.png、*.pnz)ファイルタイプです。 |
static int |
TYPE_SMAF
SMAF(*.mmf)ファイルタイプです。 |
static int |
TYPE_SMD
SMD(*.smd、*.smz、*.smx)ファイルタイプです。 |
static int |
TYPE_TXT
TXT(*.txt)ファイルタイプです。 |
static int |
TYPE_VBOOKMARK
vBookmark(*.vbm、*.url)ファイルタイプです。 |
static int |
TYPE_VCALENDAR
vCalendar(*.vcs)ファイルタイプです。 |
static int |
TYPE_VCARD
vCard(*.vcf)ファイルタイプです。 |
static int |
TYPE_VMESSAGE
vMessage(*.vmg)ファイルタイプです。 |
static int |
TYPE_VNOTE
vNote(*.vnt)ファイルタイプです。 |
static int |
TYPE_ZIP
ZIP(*.zip)ファイルタイプです。 |
メソッドの概要 | |
void |
close()
コネクションを閉じます。 |
boolean |
createFolder()
フォルダを新規に作成します。 |
boolean |
delete()
ファイルまたはフォルダを削除します。 |
boolean |
exists()
ファイルまたはフォルダが存在するかどうかを判定します。 |
long |
getLength()
ファイルの長さを取得します。 |
int |
getType()
ファイルタイプを表す整数を取得します。 |
java.lang.String |
getTypeString()
ファイルタイプを表す文字列を取得します。 |
boolean |
isCopyrighted()
著作権が保護されたデータファイルであるかどうかを判定します。 |
boolean |
isFile()
ファイルかどうかを判定します。 |
boolean |
isFolder()
フォルダかどうかを判定します。 |
java.lang.String[] |
list()
フォルダの直下に存在するファイルおよびフォルダの名前の配列を取得します。 |
java.io.InputStream |
openInputStream()
ファイルに対する入力ストリームを開きます。 |
java.io.OutputStream |
openOutputStream()
ファイルに対する出力ストリームを開きます。 |
boolean |
renameTo(java.lang.String newName)
ファイルまたはフォルダの名前を変更します。 |
インタフェース javax.microedition.io.InputConnection から継承したメソッド |
openDataInputStream |
インタフェース javax.microedition.io.OutputConnection から継承したメソッド |
openDataOutputStream |
フィールドの詳細 |
public static final java.lang.String ROOT_INTERNAL
public static final java.lang.String ROOT_EXTERNAL
public static final int TYPE_FOLDER
public static final int TYPE_ZIP
public static final int TYPE_HTML
public static final int TYPE_PNG
public static final int TYPE_MNG
public static final int TYPE_JPEG
public static final int TYPE_SMAF
public static final int TYPE_SMD
public static final int TYPE_TXT
public static final int TYPE_NANCY
public static final int TYPE_VCARD
public static final int TYPE_VBOOKMARK
public static final int TYPE_VCALENDAR
public static final int TYPE_VMESSAGE
public static final int TYPE_VNOTE
public static final int TYPE_EML
public static final int TYPE_MPEG4
public static final int TYPE_OTHER
public static final int TYPE_MP4
メソッドの詳細 |
public boolean exists() throws java.io.IOException
Connector.open()
に指定されたパス名が示すファイルまたはフォルダが存在する場合は true、そうでない場合は falsejava.io.IOException
- 以下の場合に発生する
public int getType() throws java.io.IOException
Connector.open()
に指定されたパス名が示すファイルまたはフォルダのタイプを以下のどれかの値で返す
java.io.IOException
- 以下の場合に発生する
public java.lang.String getTypeString() throws java.io.IOException
Connector.open()
に指定されたパス名が示すファイルまたはフォルダのタイプを表す文字列を以下のどれかの値で返す
java.io.IOException
- 以下の場合に発生する
public long getLength() throws java.io.IOException
Connector.open()
に指定されたパス名が示すファイルの長さをバイト単位で返す。フォルダの場合は0を返す。java.io.IOException
- 以下の場合に発生する
public boolean isFolder() throws java.io.IOException
Connector.open()
に指定されたパス名がフォルダを示す場合は true、そうでない場合は falsejava.io.IOException
- 以下の場合に発生する
public boolean isFile() throws java.io.IOException
Connector.open()
に指定されたパス名がファイルを示す場合は true、そうでない場合は falsejava.io.IOException
- 以下の場合に発生する
public boolean isCopyrighted() throws java.io.IOException
Connector.open()
に指定されたパス名が著作権保護データファイルを示す場合は true、そうでない場合は false を返す。
フォルダの場合は false を返す。java.io.IOException
- 以下の場合に発生する
public java.lang.String[] list() throws java.io.IOException
Connector.open()
に指定されたパス名が示すフォルダの直下に存在するすべてのファイル、およびフォルダの名前を取得します。
このメソッドはルートまたはフォルダを示すパス名を指定した場合に呼び出すことができます。
java.io.IOException
- 以下の場合に発生する
public boolean createFolder() throws java.io.IOException
Connector.open()
に指定されたパス名が示すフォルダを新規に作成します。
このメソッドは、フォルダを示すパス名を指定した場合に呼び出すことができます。
指定されたフォルダの親フォルダが存在しない場合は IOException が発生します。
SecurityException
- アクセスの制限された Java アプリケーションから呼び出された場合、またはユーザーがキャンセルを選択した場合に発生するjava.io.IOException
- 以下の場合に発生する
public boolean renameTo(java.lang.String newName) throws java.io.IOException
Connector.open()
に指定されたパス名が示すファイルまたはフォルダの名前を変更します。
著作権が保護されたデータファイルの名前は変更できません。
指定されたフォルダと同名のフォルダまたはファイルが存在する場合、名前の変更はできません。
このメソッドを呼び出したらすぐに close()
メソッドを呼び出してコネクションを閉じてください。
newName
- 新しい名前NullPointerException
- 引数newName に null が指定された場合に発生するSecurityException
- 以下の場合に発生する
java.io.IOException
- 以下の場合に発生する
public boolean delete() throws java.io.IOException
Connector.open()
に指定されたパス名が示すファイルまたはフォルダを削除します。
著作権が保護されたデータファイルおよび配下にファイルやフォルダが存在するフォルダは削除できません。
このメソッドを呼び出したらすぐに close()
メソッドを呼び出してコネクションを閉じてください。
SecurityException
- 以下の場合に発生する
java.io.IOException
- 以下の場合に発生する
public void close() throws java.io.IOException
閉じているコネクションに対して close() 以外のメソッドを呼び出した場合は IOException が発生します。
javax.microedition.io.Connection
内の close
java.io.IOException
- 入出力エラーが発生した場合に発生するpublic java.io.InputStream openInputStream() throws java.io.IOException
Connector.open()
に指定されたパス名が示すファイルからデータを読み込むための入力ストリームを開きます。
javax.microedition.io.InputConnection
内の openInputStream
SecurityException
- アクセスの制限された Java アプリケーションから呼び出された場合、または著作権保護データファイルの場合に発生するjava.io.IOException
- 以下の場合に発生する
Connector.open()
の引数mode
に Connector.WRITE
が指定された
public java.io.OutputStream openOutputStream() throws java.io.IOException
Connector.open()
に指定されたパス名が示すファイルにデータを書き込むための出力ストリームを開きます。
指定されたファイルが存在する場合はファイルサイズを0にします。
javax.microedition.io.OutputConnection
内の openOutputStream
SecurityException
- 以下の場合に発生する
java.io.IOException
- 以下の場合に発生する
Connector.open()
の引数 mode
に Connector.READ
が指定された
|
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |