忍者ブログ
Androidアプリ開発で行った事をメモしてます。

スポンサード リンク
スポンサード リンク
最新コメント
最新トラックバック
注目アイテム
ブログ内検索
20
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

SDカードにディレクトリとファイルを新規作成するプログラムを書いてみた。
ほんの数行のプログラムですが、少しはまったのでメモしておきます。
ディレクトリを作成する場合は、Fileクラスのmkdir()を使用します。
ファイルを作成する場合は、FileクラスのcreateNewFile()を使用します。

さっそく以下のコードを書いて試してみる。
まずは、ディレクトリの作成から。

public boolean mkdir(String path){
File file = new File(path);
return file.mkdir();
}

pathに"/sdcard/testdir"を渡して実行。
結果は、ディレクトリが作成されずにmkdirがfalseで復帰されました。
原因が分からずいろいろ調べてみると、SDK1.6からSDカード書込みのパーミッション(アクセス権)が
必要になったとの記事を発見。というわけで、マニフェストファイルに以下の記述を追加すると
上手くディレクトリの作成ができました。(ちゃんとドキュメント読めってことですね)

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

ちなみに、mkdir()は、既に同名のディレクトリ、ファイルがある場合は失敗となります。
mkdir()のほかにmkdirs()というメソッドがあります。
mkdir()が単一ディレクトリを作成するメソッドに対し、mkdirs()はパスで指定した階層を
作成してくれるメソッドだそうです。(まだ実際に試してません)

次に、ファイルの作成ですが、ディレクトリと同じようにソースを書くと
コンパイラに怒られてしまいました。
createNewFile()メソッドのインタフェースは以下のようになっています。

public boolean createNewFile() throws IOException

この"throws IOException”という記述があるメソッドを使用する場合、
例外が発生する可能性があるので必ず例外処理をしなければなりません。
今回は例外が発生した場合は適当な処理(エラーを出力するだけ)として
以下のようなコードを書いて実行してみました。

public boolean mkfile(String path){
File file = new File(path);
try{
return file.createNewFile();
}catch(IOException e){
System.out.println(e);
return false;
}
}


createNewFile()もmkdir()と同様に既に同名のディレクトリ、ファイルがある場合は失敗となります。

さて、新規作成ができるようになったので今度はファイル操作かな?
PR


<スポンサード リンク>





いつでも美味しい水やお湯が飲めるウォーターサーバーを紹介しています。
感謝の気持ちを届けよう!母の日ギフトのご紹介
話題の商品、人気商品を探すお手伝い
お名前
タイトル
文字色
URL
コメント
パスワード
Vodafone絵文字 i-mode絵文字 Ezweb絵文字
Copyright c Android開発メモ All Rights Reserved
Powered by ニンジャブログ  Designed by ピンキー・ローン・ピッグ
忍者ブログ / [PR]