2011-08-10 10 views
7

アンドロイドのドキュメントに記載されているように、アプリケーションのディレクトリに配置される新しいファイルを作成するには、Contextクラスのメソッドがあります:openFileOutput()です。Android:createNewFile()メソッドを使用してファイルを作成する

しかし、クラスの単純なcreateNewFile()メソッドを使用すると、どこにファイルが置かれますか?

答えて

24

でCreateNewFileは、()のように使用されています。あなたのパッケージには新しいファイルしか作成できないことに注意してください。それは "data/data/your package name /"です。

+0

これは私が必要なものです。どうもありがとう。 – teoREtik

0

それはあなたのclassPath

0

を指しているために、現在のディレクトリに保存されますが、[ファイルのコンストラクタに渡すパスに依存します。親ディレクトリが存在し、それに書き込み権限がある場合はもちろんです。だから、あなたはそれを作成する必要があるファイルを教えてくれます

File file = new File("data/data/your package name/test.txt"); 
if (!file.exists()) { 
     try { 
      file.createNewFile(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
} 

4

どういうわけかcreateNewFile()は、ここで私のデバイスで完全なファイルパスを作成できませんでした。

try { 
    if (!futurePhotoFile.exists()) { 
     new File(futurePhotoFile.getParent()).mkdirs(); 
     futurePhotoFile.createNewFile(); 
    } 
} catch (IOException e) { 
    Log.e("", "Could not create file.", e); 
    Crouton.showText(TaskDetailsActivity.this, 
      R.string.msgErrorNoSdCardAvailable, Style.ALERT); 
    return; 
} 
+0

このスニペットは私のために働く、ありがとう –

+0

あなたは歓迎.... – cV2

関連する問題